jQuery下拉菜单点击选中显示没选中的全部隐藏
我们在进行表单设计时,可能要用到select下拉选项控件,遗憾的是,IE浏览器默认的select控件外观非常丑陋,而且不能用样式来控制,不能在选项中添加图片等信息。今天我将通过实例来讲解如何用CSS和jQuery来制作漂亮的下拉选项菜单。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <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> </head> <body> <div class="select_box" id="selected"> <div class="select"> <span>请选择</span> </div> <ul class="list"> <li>第一个</li> <li>第二个</li> <li>第三个</li> <li>第四个</li> </ul> </div> </body> <script src="../tu/jquery-1.11.3.min.js"></script> <script>// 通过 $(function) 来执行 JQuery 代码 $(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和它的子元素,隐藏下拉菜单 }) }) </script> </html>
原文链接:https://www.qiquanji.com/post/7162.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。