Javascript 鼠标移动上去 滑块跟随效果代码分享


Posted in Javascript onNovember 23, 2013

先来一张截图。

Javascript 鼠标移动上去 滑块跟随效果代码分享

鼠标移动到对应的分类,下面的红色小三角形就会自动跟随,缓慢的跟随。
不管有多少个都可以。
javascript code:

function changeCoord(id, left) {
 $$(id).style.left = left;
}
function $$(id) {
 return document.getElementById(id);
}
function $$$(id) {
 return document.getElementsByClassName(id)[0];
}
function indexOf(arry, obj) {
 for (var i = 0; i < arry.length; i++) {
  if (obj == arry[i]) {
   return i;
  }
 };
}
window.onload = function() {
 //给页面上所有的滑块注册事件
 //products-box-center 父容器对象
  var obj = document.getElementsByClassName('products-box-center');
  for(var i=0;i<obj.length;i++){
   try{
   var base=obj[i].getElementsByClassName('products-box-center-title')[0]; //取得每一项标题
   var elems=base.getElementsByClassName('products-items-title');
    for(var j=0;j<elems.length;j++){
     var elem=elems[j];
     elem.onmousemove=function(){
      //获得当前对象的父容器的父容器
      var baseElem=this.parentElement.parentElement;
      var baseIndex=indexOf(obj,baseElem)+1;
      //获得当前对象的坐标
      var left = this.offsetLeft;
      //获得对应的滑块对象
      var slider=$$('products-triangle-'+baseIndex);
      //改变滑块的坐标
      slider.style.left = left + "px";
      //改变当前对象和其他对象的颜色
      this.style.color = "red";
      //获取当前父容器下面的所有元素
      var notes=this.parentElement.getElementsByClassName('products-items-title');
      for(var k=0;k<notes.length;k++){
       if(this!=notes[k])
       notes[k].style.color="#666";
      }
     };
    }
   }
   catch(e){
    alert(e);
   }
  };
}

html code:

 <div class="products-box-center">
    <div class="products-box-center-title">
     <div class="products-items-title products-focus-text"><h3>最新商品</h3></div>
     <div class="products-items-title"><h3>笔记本</h3></div>
     <div class="products-items-title"><h3>数码影音</h3></div>
     <div class="products-items-title"><h3>配件</h3></div>
     <div class="products-items-title"><h3>办公打印</h3></div>
     <div class="products-bottom-triangle" id="products-triangle-${index.count}"><b class="triangle"></b></div>
    </div>    <div class="products-box-panel">
      <div class="products-item">
       <ul>
        <c:forEach begin="1" end="10">
         <li>
          <a href="#"><img src="img/pc.jpg"/></a>
          <div class="p-name">
           <a href="#">LG IPS237L-BN 23英寸IPS显示器</a>
          </div>
          <div class="p-price">
           <span>¥1299.00</span>
          </div>
         </li>
        </c:forEach>
       </ul>
      </div>
    </div>
   </div>

上面的html是部分,可以用el表达式循环下,多搞几个。。。
一个上午才做好。。。

Javascript 相关文章推荐
jQuery学习总结之元素的相对定位和选择器(持续更新)
Apr 26 Javascript
jquery maxlength使用说明
Sep 09 Javascript
浅谈Javascript事件模拟
Jun 27 Javascript
javascript数组克隆简单实现方法
Dec 16 Javascript
Google 地图控件集详解及实例代码
Aug 06 Javascript
JavaScript实现解析INI文件内容的方法
Nov 17 Javascript
ReactNative实现图片上传功能的示例代码
Jul 11 Javascript
JS实现的抛物线运动效果示例
Jan 30 Javascript
vue.js计算属性computed用法实例分析
Jul 06 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 Javascript
vue实现购物车列表
Jun 30 Javascript
详解Vite的新体验
Feb 22 Javascript
jquery实现图片滚动效果的简单实例
Nov 23 #Javascript
js图片向右一张张滚动效果实例代码
Nov 23 #Javascript
JavaScript实现简单的时钟实例代码
Nov 23 #Javascript
JS控制日期显示的小例子
Nov 23 #Javascript
Jquery 动态循环输出表格具体方法
Nov 23 #Javascript
基于jquery异步传输json数据格式实例代码
Nov 23 #Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 #Javascript
You might like
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
PHP 实现缩略图
2021/03/09 PHP
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
Vue计算属性的使用
2017/08/04 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
用Node提供静态文件服务的方法
2018/07/06 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
Python入门篇之字典
2014/10/17 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
python开发简易版在线音乐播放器
2017/03/03 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
中科软笔试题和面试题
2014/10/07 面试题
音乐教育感言
2014/03/05 职场文书
心理健康活动总结
2014/04/30 职场文书
教师个人教学反思
2016/02/23 职场文书