视频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
在jquery中如何实现隐藏元素功能
2020-11-27 19:35:41 责编:小采
文档

这篇文章主要介绍了jquery实现点击空白处隐藏元素p等方法和实现代码的讲解,一起学习下。

我们在网站开发的时候经常会有点击空白处去隐藏已有的元素,p或者其他,本次教给大家如何用jquery实现这个特效的方法。

一款jQuery点击空白处隐藏弹出层网页特效,点击按钮弹出层、点击页面空白处弹出层消失JS代码。主要功能是点击按钮弹出层显示,然后通过点击页面任意位置都能关闭弹出层显示效果,主要是$(document).click的操作应用。演示 Demo,效果源码:

CSS代码:

* { 
 padding: 0; 
	margin: 0; 
}
#btnShow{ 
 margin: 100px auto 0; 
	width: 90px; 
	display: block; 
}
#pTop{ 
 border: 2px solid #666666; 
	position: absolute; display: none; 
	width: 400px; 
	height: 200px; 
	color: #333; 
	background: #efefef; 
	padding-top: 10px; 
	text-align: center; 
	font: 16px/30px "微软雅黑"; 
	margin-top: -105px; 
	margin-left: -200px; 
	left: 50%; 
	top: 50%;
 }

JS代码:

 $(function () { 
 $('#btnShow').click(function (event) { 
 //取消事件冒泡 
 event.stopPropagation(); 
 //按钮的toggle,如果p是可见的,点击按钮切换为隐藏的;如果是隐藏的,切换为可见的。 
 $('#pTop').toggle('slow'); 
	 return false;
 }); 
 //点击空白处隐藏弹出层,下面为滑动消失效果和淡出消失效果。
	 $(document).click(function(event){
	 var _con = $('#pTop'); // 设置目标区域
	 if(!_con.is(event.target) && _con.has(event.target).length === 0){ // Mark 1
	//$('#pTop').slideUp('slow'); //滑动消失
	$('#pTop').hide(1000); //淡出消失
	 }
	});
 })

HTML代码:

<body>
<input type="button" id="btnShow" value="弹出框按钮" />
<p id="pTop">
 点击空白区域弹出层关闭!
</p>
</body>

经过测试,在移动端Iphone手机上点击页面空白处弹出层关闭失效,不支持document写法,解决方案:可以添加一个背景层作为页面空白对象处理。

点击空白处隐藏弹出层案例二:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>点击空白处关闭弹出层</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#box{width:300px;height:200px;border:1px solid #000;display:none;}
.btn{color:red;}
</style>
<script type="text/javascript" src="http://www.internetke.com/public/js/jquery.js"></script>
<script type="text/javascript">
$(function(){
 $(".btn").click(function(event){
 var e=window.event || event;
 if(e.stopPropagation){
 e.stopPropagation();
 }else{
 e.cancelBubble = true;
 } 
 $("#box").show();
 });
 $("#box").click(function(event){
 var e=window.event || event;
 if(e.stopPropagation){
 e.stopPropagation();
 }else{
 e.cancelBubble = true;
 }
 });
 document.onclick = function(){
 $("#box").hide();
 };
})
</script>
</head>
<body>
<p id="box"></p>
<span class="btn">点击此处打开弹出层</span><br>点击空白处关闭弹出层
</body>
</html>

在给大家分享一下js实现的点击p区域外隐藏p区域的方法代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="js/jquery-1.4.4.min.js" ></script>
<title></title>
</head>
<style type="text/css">
body
{
background-color:#999999;
} 
#myp
{
background-color:#FFFFFF;
width:250px;
height:250px;
display:none;
      }
  </style>
<body>
<input id="btn" type="button" value="显示p" />
 
<p id="myp">
This is a p;
</p> 
</body> 
<script type="text/javascript">
    var myp = $("#myp");
$(function ()
{
$("#btn").click(function (event) 
{
showp();//调用显示p方法
$(document).one("click", function () 
{//对document绑定一个影藏p方法
$(myp).hide();
}); 
event.stopPropagation();//阻止事件向上冒泡
});
$(myp).click(function (event) 
{
event.stopPropagation();//阻止事件向上冒泡
});
});
    function showp() 
{
$(myp).fadeIn();
}
</script>

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

如何实现单层json按照key字母顺序排序(详细教程)

在vue中有关cli使用绝对路径引用问题

在微信小程序中如何实现修改view标签背景颜色

如何重置vue打印变量的显示方式(详细教程)

下载本文
显示全文
专题