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轻松实现无缝轮播效果
Mar 22 jQuery
基于jQuery实现瀑布流页面
Apr 11 jQuery
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
jquery+css实现Tab栏切换的代码实例
May 14 jQuery
jquery实现购物车基本功能
Oct 25 jQuery
jquery实现吸顶导航效果
Jan 08 jQuery
jQuery实现简单QQ聊天框
Aug 27 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
网络资源
2006/10/09 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
node上的redis调用优化示例详解
2018/10/30 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
初步理解Python进程的信号通讯
2015/04/09 Python
python3判断url链接是否为404的方法
2018/08/10 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
Django admin组件的使用
2020/10/24 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
经典优秀个人求职信分享
2013/12/12 职场文书
学习十八届三中全会精神实施方案
2014/02/17 职场文书
岗位聘任书范文
2014/03/29 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
小学生暑假安全公约
2015/07/14 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP