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的Spin Button自定义文本框数值自增或自减
Jul 17 Javascript
JavaScript中“+”的陷阱深刻理解
Dec 04 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
js表单序列化判断空值的实例
Sep 22 Javascript
3种vue组件的书写形式
Nov 29 Javascript
详解搭建es6+devServer简单开发环境
Sep 25 Javascript
浅析vue-router原理
Oct 19 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
Mar 29 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
Javascript如何实现双指控制图片功能
Feb 25 Javascript
微信公众号网页分享功能开发的示例代码
May 27 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解决图片无损压缩的问题
2017/09/01 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
Javascript验证方法大全
2015/09/21 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
微信小程序icon组件使用详解
2018/01/31 Javascript
python创建和使用字典实例详解
2013/11/01 Python
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
python Celery定时任务的示例
2018/03/13 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
医学实习生自我鉴定
2013/12/12 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript