JS实现类似百叶窗下拉菜单效果


Posted in Javascript onDecember 30, 2016

废话不多说了,直接给大家贴代码了,具体代码如下所示:

function leftmove(){
  var oLeft_ul=document.getElementById('left_ul');
  var aLeft_li=oLeft_ul.children;//获得左侧ul下的第一个子集li
  var aleft_ul_hidden=oLeft_ul.getElementsByTagName('ul');
  var aleft_span_hidden=oLeft_ul.getElementsByTagName('span');
  var arr=[];
  var span_arr=[];
  getclassname(aleft_ul_hidden,'cl_hidden',arr)
  getclassname(aleft_span_hidden,'sj',span_arr);
  for(var i=0;i<aLeft_li.length;i++){
    aLeft_li[i].index=i;
    aLeft_li[i].onmouseenter=function(){
      for(var j=0;j<aLeft_li.length;j++){
        move(aLeft_li[j],{height:40});
        span_arr[j].style.borderColor='#f2f2f2 #f2f2f2 #f2f2f2 #666';
        span_arr[j].style.top='13px';
        span_arr[j].style.left='8px';
      }
      var ul_height=arr[this.index].children.length*40
      move(aLeft_li[this.index],{height:40+ul_height});
      span_arr[this.index].style.borderColor='#666 #0ad #0ad #0ad';
      span_arr[this.index].style.top='17px';
      span_arr[this.index].style.left='6px';
    };
    aLeft_li[i].onmouseleave=function(){
      for(var j=0;j<aLeft_li.length;j++){
        move(aLeft_li[j],{height:40});
        span_arr[j].style.borderColor='#f2f2f2 #f2f2f2 #f2f2f2 #666';
        span_arr[j].style.top='13px';
        span_arr[j].style.left='8px';
      }
    };
    arr[i].onmouseover=function(){
      for(var i=0;i<arr.length;i++){
        span_arr[i].style.borderColor='#f2f2f2 #f2f2f2 #f2f2f2 #666';
        span_arr[i].style.top='13px';
        span_arr[i].style.left='8px';
      }
      span_arr[this.parentNode.index].style.borderColor='#666 #f2f2f2 #f2f2f2 #f2f2f2';
      span_arr[this.parentNode.index].style.top='17px';
      span_arr[this.parentNode.index].style.left='6px';
    };
    arr[i].onmouseout=function(){
      for(var i=0;i<arr.length;i++){
        span_arr[i].style.borderColor='#f2f2f2 #f2f2f2 #f2f2f2 #666';
        span_arr[i].style.top='13px';
        span_arr[i].style.left='8px';
      }
      span_arr[this.parentNode.index].style.borderColor='#666 #0ad #0ad #0ad';
      span_arr[this.parentNode.index].style.top='17px';
      span_arr[this.parentNode.index].style.left='6px';
    };
  }
}
leftmove();
Javascript 相关文章推荐
在页面上点击任一链接时触发一个事件的代码
Apr 07 Javascript
javascript 验证日期的函数
Mar 18 Javascript
读取input:file的路径并显示本地图片的方法
Sep 23 Javascript
JavaScript Sort 的一个错误用法示例
Mar 20 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
jquery彩色投票进度条简单实例演示
Jul 23 Javascript
深入浅析JavaScript中的3DES
Aug 24 Javascript
第一次接触神奇的前端框架vue.js
Dec 01 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
Sep 28 Javascript
小程序如何自主实现拦截器的示例代码
Nov 04 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
Feb 06 Javascript
BootStrap实现轮播图效果(收藏)
Dec 30 #Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
Dec 30 #Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 #Javascript
ionic2 tabs使用 Modal底部tab弹出框
Dec 30 #Javascript
JS实现改变HTML上文字颜色和内容的方法
Dec 30 #Javascript
jQuery中页面返回顶部的方法总结
Dec 30 #Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 #Javascript
You might like
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
php经典算法集锦
2015/11/14 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
JS控制表格隔行变色
2006/06/26 Javascript
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
Javasript设计模式之链式调用详解
2018/04/26 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
python实现各进制转换的总结大全
2017/06/18 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
Python实现最常见加密方式详解
2019/07/13 Python
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
幼儿园毕业家长感言
2014/02/10 职场文书
保护地球的标语
2014/06/17 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
小学校本教研总结
2015/08/13 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
python小型的音频操作库mp3Play
2022/04/24 Python