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 相关文章推荐
jQuery 创建Dom元素
May 07 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
Jul 03 Javascript
xml转json的js代码
Aug 28 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
Feb 17 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
Dec 15 Javascript
javascript检测两个数组是否相似
May 19 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
Jun 08 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
Nov 07 Javascript
微信小程序自定义导航隐藏和显示功能
Jun 13 Javascript
vue init webpack 建vue项目报错的解决方法
Sep 29 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
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实现图象锐化代码
2007/06/14 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
php5.3 注意事项说明
2013/07/01 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
js中作用域的实例解析
2017/03/16 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
python相似模块用例
2016/03/04 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
python机器学习之贝叶斯分类
2018/03/26 Python
Python如何给函数库增加日志功能
2020/08/04 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
金士达面试非笔试
2012/03/14 面试题
央视元宵晚会主持串词
2014/03/25 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server