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 相关文章推荐
JS之小练习代码
Oct 12 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
Jun 29 Javascript
JavaScript制作简易的微信打飞机
Mar 31 Javascript
Node.js编程中客户端Session的使用详解
Jun 23 Javascript
手机端转盘抽奖代码分享
Sep 10 Javascript
Angularjs中的页面访问权限怎么设置
Nov 11 Javascript
Input文本框随着输入内容多少自动延伸的实现
Feb 15 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 Javascript
vue点击按钮实现简单页面的切换
Sep 08 Javascript
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
原生js实现无缝轮播图效果
Jan 28 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
第一节--面向对象编程
2006/11/16 PHP
php设计模式 Proxy (代理模式)
2011/06/26 PHP
ThinkPHP路由详解
2015/07/27 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
2019/09/03 jQuery
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
python 自动批量打开网页的示例
2019/02/21 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
Lentiamo荷兰:在线订购隐形眼镜、隐形眼镜液和太阳镜
2019/10/25 全球购物
商务英语专业毕业生自荐信
2013/11/05 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
秋季运动会稿件
2014/01/30 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
改革共识倡议书
2014/08/29 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书
五年级作文之成长
2019/09/16 职场文书