jQuery点击页面其他部分隐藏下拉菜单功能


Posted in jQuery onNovember 27, 2018

一、开发小要点

    web页面中,我们一般不用select、option来实现下拉菜单效果,因为下拉框的样式丑且难以美化,所以我们选择控制ul显示隐藏来实现同样且高大上的效果,但是不能像下拉框那样点击页面其他部分,下拉菜单收起或隐藏,该怎么办呢?只能用js这老大哥来控制了。

二、代码

    HTML:

<div class="select_box" id="selected">
  <div class="select">
    <span>请选择</span>
  </div>
  <ul class="list">
    <li>01</li>
    <li>02</li>
    <li>03</li>
    <li>04</li>
   </ul>
 </div>

    CSS:

<style type="text/css">
   *{margin:0;padding:0}
   ul,ol{list-style: none}
   .select_box{
     position:relative;
     margin:100px auto;
     width:300px;
   }
   .select{
     padding:5px 10px;
     border:1px solid #dedede;
   }
   .select:hover{
     cursor:pointer;
   }
   .select span{
     display: block;
     background:url("../../img/downicon.png") no-repeat right;
   }
   .list{
     display: none;
     position:absolute;
     top:30px;
     width:298px;
     border:1px solid #dedede;
     border-top:none;
   }
   .list li{
     padding:5px 10px;
   }
   .list li:hover{
     background:#ddd;
   }
 </style>

    JS:

$(function(){
   $(".select").click(function(){
    $(".list").toggle();
   })
   $(".list li").click(function(){
    $(".select span").html($(this).html());
    $(".list").hide();
   })
   $(document).bind("click",function(e){
    var e = e || window.event;  //事件对象,兼容IE
    var target = e.target || e.srcElement; //源对象,兼容火狐和IE
    while(target){
      if (target.id && target.id == "selected"){  //循环判断至根节点,防止点击的是#selected和它的子元素
       return;
    }
      target = target.parentNode;
    }
      $(".list").hide();  //点击的不是#selected和它的子元素,隐藏下拉菜单
    })
  })

    效果:

jQuery点击页面其他部分隐藏下拉菜单功能

总结

以上所述是小编给大家介绍的jQuery点击页面其他部分隐藏下拉菜单功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

jQuery 相关文章推荐
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
jquery实现楼层滚动效果
Jan 01 jQuery
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
深入分析jQuery.one() 函数
Jun 03 jQuery
jquery+ajax实现异步上传文件显示进度条
Aug 17 jQuery
jquery实现图片放大镜效果
Dec 23 jQuery
jQuery实现购物车全功能
Jan 11 jQuery
jQuery实现上下滚动公告栏详细代码
Nov 21 #jQuery
jQuery 同时获取多个标签的指定内容并储存为数组
Nov 20 #jQuery
IE8中jQuery.load()加载页面不显示的原因
Nov 15 #jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 #jQuery
详解jQuery获取特殊属性的值以及设置内容
Nov 14 #jQuery
jQuery 操作 HTML 元素和属性的方法
Nov 12 #jQuery
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 #jQuery
You might like
PHP5/ZendEngine2的改进
2006/10/09 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
python图片验证码生成代码
2016/07/02 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
如何在django中运行scrapy框架
2020/04/22 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
房地产员工找工作的自我评价
2013/11/15 职场文书
八年级数学教学反思
2014/01/31 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
干部个人对照检查材料
2014/08/25 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
作文批改评语
2014/12/25 职场文书
教师节随笔
2015/08/15 职场文书
决心书格式范文
2015/09/23 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL