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更换文章内容与改变字体大小代码
Sep 30 Javascript
jQuery中noConflict()用法实例分析
Feb 08 Javascript
JS实现的打字机效果完整实例
Jun 20 Javascript
node.js实现快速截图
Aug 27 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
Oct 09 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
vue axios请求超时的正确处理方法
Apr 02 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
Apr 18 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
May 16 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
深入理解 ES6中的 Reflect用法
Jul 18 Javascript
vue3如何优雅的实现移动端登录注册模块
Mar 29 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
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
js中的闭包实例展示
2018/11/01 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
python字典键值对的添加和遍历方法
2016/09/11 Python
python基于SMTP协议发送邮件
2019/05/31 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
思想专业自荐信范文
2013/12/25 职场文书
保健品市场营销方案
2014/03/31 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
学习普通话的体会
2014/11/07 职场文书
高三毕业评语
2014/12/31 职场文书
先进个人自荐书
2015/03/06 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书