视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
DOM案例分享—jQ实现点击任意位置关闭某处的效果
2020-11-27 19:32:46 责编:小采
文档


Javascript学习中DOM的实战,jQ实现点击任意位置关闭某处的效果(常用于模态框后面的遮罩层)

点击任意位置关闭某处

而且点击对应处并不会hide掉自己

原理

//点击文档任意处都触发该事件$(document).mousedown(function(e){
 //只有当某对象存在时才会有的点击任意处出现的事件效果
 if($(e.target).parents(".search").length==0){
 $("xxx").slideToggle(300);//显示隐藏
 }
})

下列网页实战中我取出部分,因此最后看起来样式可能不相同。
其中思想是

//点击文档任意处都触发该事件$(document).mousedown(function(e){
 if(想要显示的对象如果是在显示状态时才有以下的触发效果){ //只有当某对象存在时才会有的点击任意处出现的事件效果
 if($(e.target).parents(".search").length==0){
 $("xxx").slideToggle(300);//显示隐藏
 }
 }
})

效果

代码

html部分

<!DOCTYPE html><html lang="en"><head>
 <meta charset="UTF-8">
 <title>backspacing</title>
 <style type="text/css">
 html{ background: #666; }
 .topList{ float: right; margin-right: 36px; list-style: none; }
 .topList li{ float: left; height: 35px; line-height: 35px; text-align: center; }
 .topList a{ color: #fff; }
 .topList a:active, .topList a:focus, .topList a:hover{ color: #fff; text-decoration: none; }
 .searchBtn{ position: absolute; right: 0; top: 3px; width: 35px; height: 35px; }
 .searchBtn img{ position: absolute; right: 0px; top: 7px; width: 16px; height: 16px; display: block; }
 .search{ display: none; position: absolute; right: 0; top: 0; width: 190px; height: 35px; }
 .search input{ position: absolute; right: 0px; top: 0px; width: 100%; height: 31px; border:0; border-bottom: 1px solid #fff; background: #C997; color: #fff !important; padding-right:30px; }
 .search input::-webkit-input-placeholder{ color: #fff; }
 .search input::-moz-placeholder{ color: #fff; }
 .search input::-ms-input-placeholder{ color: #fff; }
 .search input::-moz-placeholder{ color: #fff; }
 .search a{ position: absolute; right: 0px; top: 7px; width: 16px; height: 16px; border-radius: 25px; }
 .search img{ width: 16px; height: 16px; }
 </style></head><body><ul class="topList">
 <li><a href="javascript:alert('敬请期待')!">理工首页 | </a></li>
 <li><a href="javascript:alert('敬请期待')!">收藏本页 | </a></li>
 <li><a href="javascript:alert('敬请期待')!">English</a></li></ul><a href="javascript:alert('敬请期待')!" class="searchBtn"><img src="search.png" alt=""></a><p class="search">
 <form action="">
 <input type="text" placeholder="请输入相关搜索内容">
 <a href="javascript:alert('敬请期待')!"><img src="search.png" alt=""></a>
 </form></p>
 <script src="../jquery.min.js"></script>
 <script src="backspacing.js"></script></body></html>

js部分

// 搜索框的出现&&隐藏$(".searchBtn").click(function(){
 $(".searchBtn").slideToggle(300);
 $(".search").slideToggle(300);
 $(".topList").slideToggle(100);
});
$(document).mousedown(function(e){
 if(!($(".search").is(":hidden"))){ if($(e.target).parents(".search").length==0){
 $(".searchBtn").slideToggle(300);
 $(".search").slideToggle(300);
 $(".topList").slideToggle(100);
 }
 }else{ return false;
 }
})

相关文章:

jQuery实现点击任意位置弹出层外关闭弹出层效果

JavaScript单击网页任意位置打开新窗口与关闭窗口的实现代码

相关视频:

DOM探索之基础详解篇

下载本文
显示全文
专题