js实现下拉菜单效果

所属分类: 网络编程 / JavaScript 阅读数: 1749
收藏 0 赞 0 分享

效果图:

代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title></title>
  <style type="text/css">
   *{
   margin: 0;
   padding: 0;
   }
   body {
   width: 460px;
   margin: 0 auto;
  font-family: "微软雅黑";
 }
 .search{
  height: 23px;
  line-height: 23px;
  border-bottom: 1px solid #d4d4d4;
  font-weight: 600;
 }
 .search img{
  float: left;
  display: inline-block;
  margin-top: 5px;
 }
 .search span{
  float: left;
  font-size: 14px;
  margin-left: 4px;
 }
 .content1{
  height: 254px;
  width: 100%;
  background: #f5f5f5;
  border-top: 1px solid #eaeaea;
  padding-top: 10px;
 }
 .content1 .content1_div{
  width: 90%;
  height: 43px;
  margin: 5px auto;
 }
 .left{
  width: 30%;
  height: 43px;
  border: 1px solid #eaeaea;
  font-size: 14px;
  text-align: center;
  line-height: 43px;
  float: left;
 }
 .right{
  width: 68%;
  height:43px;
  border: 1px solid #eaeaea;
  font-size: 14px;
  text-align: center;
  line-height: 43px;
  float: left;
  background: #fff;
  margin-left: 3px;
 }
 .right .right_select{
  display: inline-block;
  width: 90%;
  height: 20px;
  border: none;
  border: 1px solid #a4bed4;
  text-align: center;
  direction: center;
 }
 .right_select option{
  text-align: center;
 }
 .hecha{
  text-align: center;
  margin-top: 15px;
 }
 .jdcxx{
  height: 146px;
  font-size: 14px;
  background: #ebebeb;
  background-size:cover;
  padding-top: 20px;
 }
 .jdcxx p,.jdcsyrxx p{
  margin-left: 20px;
  font-weight: 600;
  line-height: 33.6px;
  font-size: 14px;
 }
 .jdcxx .xx,.jdcsyrxx .xx{
  font-weight: 100;
 }
 .jdcsyrxx{
  margin-top: 20px;
  padding-top: 20px;
  height: 146px;
  font-size: 20px;
  background:#ebebeb;
  background-size:cover;
 }
 .hcr,.hcsj{
  height: 30px;
  font-size: 14px;
  line-height: 30px;
  border-bottom: 1px solid #d4d4d4;
 }
 .hcr_left{
  display: block;
  float: left;
  height: 28px;
  width: 2px;
  margin-top: 1px;
  background: #226ed2;
 }
 .zc{
  width: 100px;
  display: block;
  float: left;
  text-align: right;
  margin-left: 10px;
  margin-right: 10px;
 }
 .xm,.sj{
  font-weight: 600;
 }
 .xiala_div{
  top: 33px;
  display: none;
  z-index: 600;
  border: 1px solid #A4BED4;
  width: 253px;
  left: 13px;
 }
 .xiala_input{
  line-height: 21px;
  width: 253px;
  border: none;
  outline: none;
  margin: 0;
  text-align: center;
  cursor: default;
  background: #fff;
  color: #000;
 }
 .xiala_input:hover{
  background: #a4bed4;
 }
  </style>
  <link rel="stylesheet" type="text/css" href="http://at.alicdn.com/t/font_8q2l5tghvcvm42t9.css
"/>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
 <header>
 <div class="search">
  <img width="" src="img/img_09.png"/>
  <span>查询</span>
 </div>
 </header>
 <div class="content1">
 <div class="content1_div">
  <div class="left">
  号牌种类:
  </div>
  <div class="right" style="position: relative;">
  <input type="text" name="" id="" readonly value="小型汽车号牌" class="right_select"/>
  <span style="position: absolute;right: 18px;top: 2px;font-size: 10px; color: #a4bed4;" class="xialaan icon-icon09 iconfont" ></span>
  <div class="xiala_div" style="position: absolute;top;line-height: 20px;" >
   <input type="text" class="xiala_input" readonly name="" id="" value="小型汽车号牌" />
   <input type="text" class="xiala_input" readonly name="" id="" value="大型汽车号牌" />
   <input type="text" class="xiala_input" readonly name="" id="" value="中型汽车号牌" />
  </div>
  </div>
 </div>
 <div class="content1_div">
  <div class="left">
  车牌号码:
  </div>
  <div class="right" style="position: relative;">
  <input type="text" name="" id="" readonly value="鲁" class="right_select"/>
  <span style="position: absolute;right: 18px;top: 2px;font-size: 10px; color: #a4bed4;" class="xialaan icon-icon09 iconfont" ></span>
  <div class="xiala_div" style="position: absolute;top;line-height: 20px;" >
   <input type="text" class="xiala_input" readonly name="" id="" value="晋" />
   <input type="text" class="xiala_input" readonly name="" id="" value="京" />
   <input type="text" class="xiala_input" readonly name="" id="" value="豫" />
  </div>
  </div>
 </div>
 <div class="content1_div">
  <div class="left">
  </div>
  <div class="right" style="position: relative;">
  <input type="text" name="" id="" value="A" readonly class="right_select"/>
  <span style="position: absolute;right: 18px;top: 2px;font-size: 10px; color: #a4bed4;" class="xialaan icon-icon09 iconfont" ></span>
  <div class="xiala_div" style="position: absolute;top;line-height: 20px;" >
   <input type="text" class="xiala_input" readonly name="" id="" value="A" />
   <input type="text" class="xiala_input" readonly name="" id="" value="B" />
   <input type="text" class="xiala_input" readonly name="" id="" value="C" />
  </div>
  </div>
 </div>
 </div>
 <script type="text/javascript">
 var xialakuang = $(".xialaan");
 var right_select = $(".right_select");
 var xiala_div = $(".xiala_div")
  for( var i=0;i<xialakuang.length;i++ ){
  xialakuang[i].index = i;
  var onOff = true;
  var This =i;
  xialakuang[i].onclick = function(){
   if(onOff) {
   for( var j=0;j<xiala_div.length;j++ ){
    if( this.index == j ){
    xiala_div[j].style.display = 'block';
    var xiala_input = xiala_div[j].getElementsByClassName("xiala_input");
    if(j==0){
     for(var k=0;k<xiala_input.length;k++){ 
     xiala_input[k].index = k;
     xiala_input[k].onclick=function(){
      var value = xiala_input[this.index].value;
      right_select[0].value=value;
     $(".xiala_div").css("display", "none")
     }
    }
    }
    if(j==1){
     for(var k=0;k<xiala_input.length;k++){ 
     xiala_input[k].index = k;
     xiala_input[k].onclick=function(){
      var value = xiala_input[this.index].value;
      right_select[1].value=value;
      $(".xiala_div").css("display", "none")
     }
    }
    }
     if(j==2){
     for(var k=0;k<xiala_input.length;k++){ 
      xiala_input[k].index = k;
      xiala_input[k].onclick=function(){
      var value = xiala_input[this.index].value;
      right_select[2].value=value;
      $(".xiala_div").css("display", "none")
      }
     }
     }
    }else{
    xiala_div[j].style.display = 'none';
    }
   }
   }else{
   $(".xiala_div").css("display", "none")
   }
   onOff=!onOff
  }
  }
  for( var i=0;i<right_select.length;i++ ){
  right_select[i].index = i;
  var onOff = true;
  var This =i;
  right_select[i].onclick = function(){
   if(onOff) {
   for( var j=0;j<xiala_div.length;j++ ){
    if( this.index == j ){
    xiala_div[j].style.display = 'block';
    var xiala_input = xiala_div[j].getElementsByClassName("xiala_input");
    if(j==0){
     for(var k=0;k<xiala_input.length;k++){ 
     xiala_input[k].index = k;
     xiala_input[k].onclick=function(){
      var value = xiala_input[this.index].value;
      right_select[0].value=value;
      $(".xiala_div").css("display", "none")
     }
    }
    }
    if(j==1){
     for(var k=0;k<xiala_input.length;k++){ 
     xiala_input[k].index = k;
     xiala_input[k].onclick=function(){
      var value = xiala_input[this.index].value;
      right_select[1].value=value;
      $(".xiala_div").css("display", "none")
     }
     }
    }
     if(j==2){
     for(var k=0;k<xiala_input.length;k++){ 
      xiala_input[k].index = k;
      xiala_input[k].onclick=function(){
      var value = xiala_input[this.index].value;
      right_select[2].value=value;
      $(".xiala_div").css("display", "none")
      }
     }
     }
    }else{
    xiala_div[j].style.display = 'none';
    }
   }
   }else{
   $(".xiala_div").css("display", "none")
   }
   onOff=!onOff
  }
  }
 </script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

更多精彩内容其他人还在看

验证javascript中Object和Function的关系的三段简单代码

今天重温经典书籍。这一次看的是博客园李战老师写的<<悟透JavaScript>>,也是被楼猪翻看最多的技术书籍之一。
收藏 0 赞 0 分享

用apply让javascript函数仅执行一次的代码

有时候我们只想要让某些脚步函数执行一次就算完成任务了。如何实现这种功能呢?简单模仿下面这段就可以轻松搞定了
收藏 0 赞 0 分享

两种简单实现菜单高亮显示的JS类代码

近期在写一个博客管理后台的前端,涉及在同一页面两种高亮显示当前菜单的需求.
收藏 0 赞 0 分享

js getElementsByTagName的简写方式

用最少的代码,做最多的事情. getElementsByTagName的简写方法.
收藏 0 赞 0 分享

JavaScript的单例模式 (singleton in Javascript)

JavaScript的单例模式 (singleton in Javascript)
收藏 0 赞 0 分享

JavaScript接口实现代码 (Interfaces In JavaScript)

接口是面向对象编程里的重要特性,遗憾的是JavaScript并没有提供对接口的支持!怎么实现接口呢?
收藏 0 赞 0 分享

js鼠标左右键 键盘值小结

js鼠标左右键,键盘值实现代码,主要方便检测鼠标的按键返回。
收藏 0 赞 0 分享

Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)

最近在做项目时用到了定时执行的js方法,setInterval与setTimeout时间长了不用有些生疏了,所以自己总结了一下,记下来,以便以后使用。
收藏 0 赞 0 分享

cnblogs TagCloud基于jquery的实现代码

自创"山寨版"的"博客园"TagCloud!...
收藏 0 赞 0 分享

JavaScript 开发规范要求(图文并茂)

作为一名开发人员(WEB前端JavaScript开发),不规范的开发不仅使日后代码维护变的困难,同时也不利于团队的合作,通常还会带来代码安全以及执行效率上的问题。
收藏 0 赞 0 分享
查看更多