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加密密码到cookie的实现代码
Apr 18 jQuery
jQuery鼠标悬停内容动画切换效果
Apr 27 jQuery
jQuery使用正则验证15/18身份证的方法示例
Apr 27 jQuery
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
jquery层次选择器的介绍
Jan 18 jQuery
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
Mar 06 jQuery
Jquery动态列功能完整实例
Aug 30 jQuery
jQuery+ThinkPHP实现图片上传
Jul 23 jQuery
jQuery实现简单三级联动效果
Sep 05 jQuery
jQuery实现电梯导航模块
Dec 22 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实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
javascript中window.event事件用法详解
2012/12/11 Javascript
js判断变量初始化的三种形式及推荐用的形式
2014/07/22 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
Python import用法以及与from...import的区别
2015/05/28 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
python制作mysql数据迁移脚本
2019/01/01 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
大学生职业生涯规划书模板
2014/01/18 职场文书
学校元旦晚会方案
2014/02/19 职场文书
物业经理自我鉴定
2014/03/03 职场文书
请假条范文大全
2014/04/10 职场文书
应聘会计求职信
2014/06/11 职场文书
师范大学生求职信
2014/06/13 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android