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 相关文章推荐
使用jquery给input和textarea设定ie中的focus
May 29 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
Javascript计算二维数组重复值示例代码
Dec 18 Javascript
微信小程序 Tab页切换更新数据
Jan 05 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 Javascript
基于React实现表单数据的添加和删除详解
Mar 14 Javascript
原生JS实现层叠轮播图
May 17 Javascript
基于jquery实现五星好评
Nov 18 jQuery
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
Cordova(ionic)项目实现双击返回键退出应用
Sep 17 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
Nov 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简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
一些常用的JS功能函数代码
2009/06/23 Javascript
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
Python对多属性的重复数据去重实例
2018/04/18 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
外包公司软件测试工程师
2014/11/01 面试题
《我为你骄傲》教学反思
2014/02/20 职场文书
班级旅游计划书
2014/05/03 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
社区志愿服务活动感想
2015/08/07 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书
创业计划之特色精品店
2019/08/12 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android