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 相关文章推荐
破除网页鼠标右键被禁用的绝招大全
Dec 27 Javascript
瀑布流布局并自动加载实现代码
Mar 12 Javascript
nodeType属性返回被选节点的节点类型介绍
Nov 22 Javascript
获取中文字符串的实际长度代码
Jun 05 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
js+CSS实现弹出居中背景半透明div层的方法
Feb 26 Javascript
JavaScript实现表格点击排序的方法
May 11 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
Sep 04 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
微信QQ的二维码登录原理js代码解析
Jun 23 Javascript
AngularJS Select(选择框)使用详解
Jan 18 Javascript
原生javascript实现连连看游戏
Jan 03 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
js拦截alert对话框另类应用
2013/01/16 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
python 获取字符串MD5值方法
2018/05/29 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
python解释器安装教程的方法步骤
2020/07/02 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
大学生党课思想汇报
2013/12/29 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
班主任寄语2015
2015/02/26 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis
Vue的过滤器你真了解吗
2022/02/24 Vue.js
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers