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 相关文章推荐
一个可以显示阴历的JS代码
Mar 05 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
Mar 24 Javascript
JS的get和set使用示例
Feb 20 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
Feb 25 Javascript
纯js实现悬浮按钮组件
Dec 17 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
May 08 Javascript
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
Layui 数据表格批量删除和多条件搜索的实例
Sep 04 Javascript
vue路由传参三种基本方式详解
Dec 09 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
2款PHP无限级分类实例代码
2015/11/11 PHP
JQuery对class属性的操作实现按钮开关效果
2013/10/11 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
js表单登陆验证示例
2016/10/19 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
vue cli 全面解析
2018/02/28 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
Python脚本获取操作系统版本信息
2016/12/17 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
办公室副主任职责范本
2014/03/08 职场文书
道路交通安全实施方案
2014/03/12 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
学生个人自我鉴定
2014/03/26 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
2014年销售工作总结
2014/12/01 职场文书
求职导师推荐信范文
2015/03/27 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang