一个项目,需要用到一个弹窗系统,该系统在使用时,点击某按钮后,指定元素显示并在最高浮层,点击除当前元...
一个项目,需要用到一个弹窗系统,该系统在使用时,点击某按钮后,指定元素显示并在最高浮层,点击除当前元素外的区域时,当前指定元素隐藏。
先上案例代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WEB前端:点击除指定元素外的其他地方,当前指定元素隐藏</title>
<script src="https://blog.mijupai.com/zb_system/script/jquery-2.2.4.min.js" type="text/javascript"></script>
<style>
.dn{position: fixed;top: 0;bottom: 0;left: 0;right: 0;background-color: #f1f1f1ab;z-index: 99999;}
.dn div{margin: 20%;}
</style>
</head>
<body>
<div><button id="but01">点击出现浮层</button></div>
<div class="dn"><div id="but02"><p>我是被隐藏的内容</p></div></div>
<script>
$(document).ready(function(){
$("#but01").click(function(){
$(".dn").show();
})
})
</script>
</body>
</html>点击button后,直接显示被隐藏的内容
现在,开始做点击除div#but02外的区域,被隐藏的内容再次被隐藏
首先,要在点击除dn以外的元素时,内容就隐藏
$(document).click(function(){
$(".dn").hide();
});然后,需要在点击but02时,禁止隐藏操作
$("#but02").click(function(event){
event.stopPropagation();
});由此,就实现了点击除指定元素外的其他地方,当前指定元素隐藏,再次点击指定按钮,再次显示隐藏的内容时,需要中断其他event事件
最后附上综合源码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WEB前端:点击除指定元素外的其他地方,当前指定元素隐藏</title>
<script src="https://blog.mijupai.com/zb_system/script/jquery-2.2.4.min.js" type="text/javascript"></script>
<style>
.dn{display: none; position: fixed;top: 0;bottom: 0;left: 0;right: 0;background-color: #f1f1f1ab;z-index: 99999;}
.dn div{margin: 20%;}
</style>
</head>
<body>
<div><button id="but01">点击出现浮层</button></div>
<div class="dn"><div id="but02"><p>我是被隐藏的内容</p></div></div>
<script>
$(document).ready(function(){
$("#but01").click(function(){
$(".dn").toggle();
event.stopPropagation();
})
$(document).click(function(){
$(".dn").hide();
});
$("#but02").click(function(event){
event.stopPropagation();
});
})
</script>
</body>
</html>
漠漠睡