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 tmpl模板(实例讲解)
Sep 02 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
JQuery通过后台获取数据遍历到前台的方法
Aug 13 jQuery
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
Dec 29 jQuery
jquery ajax 请求小技巧实例分析
Nov 11 jQuery
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
jquery更改元素属性attr()方法操作示例
May 22 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 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
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
9个PHP开发常用功能函数小结
2011/07/15 PHP
PHP防止跨域提交表单
2013/11/01 PHP
php两种无限分类方法实例
2015/04/21 PHP
JS定时器实例
2013/04/17 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
python+mysql实现个人论文管理系统
2019/10/25 Python
Python有参函数使用代码实例
2020/01/06 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
python 怎样进行内存管理
2020/11/10 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
奥巴马演讲稿
2014/01/08 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
Java Socket实现多人聊天系统
2021/07/15 Java/Android
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA
设置IIS Express并发数
2022/07/07 Servers