js模拟select下拉菜单控件的代码


Posted in Javascript onMay 08, 2013
<!DOCTYPE html>
 <html>
 <head>
 <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
 <meta charset=utf-8 />
 <title>js模拟select</title>
 </head>
    <style>
   *{ margin:0; padding:0;}
   li{ list-style:none;}
   body{ font:12px "宋体"; color:#666;}
   .select_down{ margin:100px auto; position:relative; width:600px; min-height:200px; height:auto!important; height:200px; border:1px solid #ccc; padding:20px; border-radius: 8px}
   .select_down dt{float:left;width:134px;position:relative;margin-right:5px;display:inline;}
   .select_down h3{color: #919191; font-size:12px;font-weight: normal;border:1px solid #e5e5e5;height:18px;background:#fbfbfb;line-height: 18px;text-indent:8px;}
   .select_down ul{width: 132px;border: 1px solid #e5e5e5;background:#fbfbfb;position: absolute;top: 18px;left: 0;
 z-index: 1;text-indent:8px;display:none;}
 .select_down ul li{height:22px;line-height: 22px;cursor:pointer;}
 .select_down ul li.hover{background:#f2f2f2;}
  .select_down dt a{background:url('https://3water.com/hxh-hua/478335/o_select.jpg') no-repeat;position:absolute;width:18px;height:18px;top:1px;right:1px; }
   </style>
 <body>
   <div class="select_down" id="sel">
           <dl>
             <dt>
                 <h3>select选择</h3>
                 <a href="javascript:;"></a>
                 <ul>
                     <li>jq的select模拟1</li>
                     <li>jq的select模拟2</li>
                     <li>jq的select模拟3</li>
                 </ul>
             </dt>
             <dt>
                 <h3>select选择2</h3>
                 <a href="javascript:;"></a>
                 <ul>
                     <li>jq的select模拟11</li>
                     <li>jq的select模拟22</li>
                     <li>jq的select模拟31</li>
                 </ul>
             </dt>         </dl>
 </div>
   <script>
     window.onload=function(){
     var oflink = document.getElementById('sel');
     var aDt = oflink.getElementsByTagName('dt');
     var aUl = oflink.getElementsByTagName('ul');
     var aH3= oflink.getElementsByTagName('h3');
     for(var i=0;i<aDt.length;i++){
         aDt[i].index = i;
         aDt[i].onclick = function(ev){
             var ev = ev || window.event;
             var This = this;
             for(var i=0;i<aUl.length;i++){
                 aUl[i].style.display = 'none';
             }
             aUl[this.index].style.display = 'block';
             document.onclick = function(){
                 aUl[This.index].style.display = 'none';
             };
             ev.cancelBubble = true;
         };
     }
     for(var i=0;i<aUl.length;i++){
         aUl[i].index = i;
         (function(ul){
             var iLi = ul.getElementsByTagName('li');
             for(var i=0;i<iLi.length;i++){
                 iLi[i].onmouseover = function(){
                     this.className = 'hover';
                 };
                 iLi[i].onmouseout = function(){
                     this.className = '';
                 };
                 iLi[i].onclick = function(ev){
                     var ev = ev || window.event;
                     aH3[this.parentNode.index].innerHTML = this.innerHTML;
                     ev.cancelBubble = true;
                     this.parentNode.style.display = 'none';
                 };
             }
         })(aUl[i]);
     }
 }
   </script>
 </body>
 </html>
Javascript 相关文章推荐
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
Jul 19 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
JS中eval函数的使用示例
Jul 21 Javascript
JS中的this变量的使用介绍
Oct 21 Javascript
Javascript 多浏览器兼容总结(实战经验)
Oct 30 Javascript
无刷新预览所选择的图片示例代码
Apr 02 Javascript
js实现简单的获取验证码按钮效果
Mar 03 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
vue resource发送请求的几种方式
Sep 30 Javascript
微信小程序webSocket的使用方法
Feb 20 Javascript
使用JavaScript获取Django模板指定键值数据
May 27 Javascript
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
js工具方法弹出蒙版
May 08 #Javascript
基于JavaScript 声明全局变量的三种方式详解
May 07 #Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 #Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
May 07 #Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 #Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
May 07 #Javascript
JS中的substring和substr函数的区别说明
May 07 #Javascript
You might like
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
php面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
ie focus bug 解决方法
2009/09/03 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
javascript读写json示例
2014/04/11 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
Python实现多线程的两种方式分析
2018/08/29 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
如何在python中实现随机选择
2019/11/02 Python
基于Django实现日志记录报错信息
2019/12/17 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
个人优缺点自我评价
2014/01/27 职场文书
安全教育第一课观后感
2015/06/17 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL