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 相关文章推荐
JavaScript创建对象的写法
Aug 29 Javascript
jquery 添加节点的几种方法介绍
Sep 04 Javascript
jQuery 隐藏和显示 input 默认值示例
Jun 03 Javascript
详解JavaScript中的客户端消息框架设计原理
Jun 24 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
JavaScript获取select中text值的方法
Feb 13 Javascript
关于Javascript中document.cookie的使用
Mar 08 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
Oct 16 Javascript
JavaScript实现页面中录音功能的方法
Jun 04 Javascript
Vue 实例事件简单示例
Sep 19 Javascript
关于vue 结合原生js 解决echarts resize问题
Jul 26 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 压缩文件夹的类代码
2009/11/05 PHP
php中大括号作用介绍
2012/03/22 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
javascript事件处理模型实例说明
2016/05/31 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
linux下安装easy_install的方法
2013/02/10 Python
Python XML RPC服务器端和客户端实例
2014/11/22 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Django开发中复选框用法示例
2018/03/20 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
Python tkinter三种布局实例详解
2020/01/06 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
中学校庆方案
2014/03/17 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
流动人口婚育证明
2014/10/19 职场文书
新员工辞职信范文
2015/05/12 职场文书
安全教育培训制度
2015/08/06 职场文书
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript