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 相关文章推荐
Autocomplete Textbox Example javascript实现自动完成成功
Aug 17 Javascript
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
ajax异步刷新实现更新数据库
Dec 03 Javascript
JavaScript 产生不重复的随机数三种实现思路
Dec 13 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
Jan 13 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
Dec 05 Javascript
Vue如何实现组件的源码解析
Jun 08 Javascript
浅谈ES6 模板字符串的具体使用方法
Nov 07 Javascript
Vue组件开发技巧总结
Mar 04 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
vue 实现购物车总价计算
Nov 06 Javascript
vue 避免变量赋值后双向绑定的操作
Nov 07 Javascript
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
生成静态页面的PHP类
2006/07/15 PHP
xajax写的留言本
2006/11/25 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
Javascript模板技术
2007/04/27 Javascript
jquery获取input的value问题说明
2010/08/19 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
python实现linux下使用xcopy的方法
2015/06/28 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
python中元组的用法整理
2020/06/15 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Django实现随机图形验证码的示例
2020/10/15 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
医院门卫岗位职责
2013/12/30 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
工作试用期自我评价
2015/03/10 职场文书
化妆品促销活动总结
2015/05/07 职场文书
合作意向书怎么写
2019/06/24 职场文书
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS
Python代码实现双链表
2022/05/25 Python