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乱码问题分析及解决方案
Apr 12 Javascript
js截取小数点后几位的写法
Nov 14 Javascript
jQuery动画特效实例教程
Aug 29 Javascript
JSONObject使用方法详解
Dec 17 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
Feb 21 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
jQuery使用getJSON方法获取json数据完整示例
Sep 13 Javascript
vue v-model动态生成详解
Jun 30 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
Oct 01 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
Apr 10 Javascript
微信小程序实现手势滑动卡片效果
Aug 26 Javascript
基于vue+echarts数据可视化大屏展示的实现
Dec 25 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 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
python局部赋值的规则
2013/03/07 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
python ETL工具 pyetl
2020/06/07 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
输入N,打印N*N矩阵
2012/02/20 面试题
大学生职业生涯规划方案
2014/01/03 职场文书
创业计划书的内容步骤和要领
2014/01/04 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
临床护理求职信
2014/04/26 职场文书
创业女性典型材料
2014/05/02 职场文书
党支部对照检查材料
2014/08/25 职场文书
党政领导班子群众路线对照检查材料思想汇报
2014/09/27 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
Golang 字符串的常见操作
2022/04/19 Golang