jquery如何实现点击空白处隐藏元素


Posted in jQuery onDecember 05, 2017

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

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

CSS代码:

* { 
  padding: 0; 
	margin: 0; 
}
#btnShow{ 
  margin: 100px auto 0; 
	width: 90px; 
	display: block; 
}
#divTop{ 
  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,如果div是可见的,点击按钮切换为隐藏的;如果是隐藏的,切换为可见的。 
     $('#divTop').toggle('slow'); 
		 return false;
   }); 
   //点击空白处隐藏弹出层,下面为滑动消失效果和淡出消失效果。
	 $(document).click(function(event){
		 var _con = $('#divTop');  // 设置目标区域
		 if(!_con.is(event.target) && _con.has(event.target).length === 0){ // Mark 1
			//$('#divTop').slideUp('slow');  //滑动消失
			$('#divTop').hide(1000);     //淡出消失
		 }
	});
 })

HTML代码:

<body>
<input type="button" id="btnShow" value="弹出框按钮" />
<div id="divTop">
 点击空白区域弹出层关闭!
</div>
</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>
<div id="box"></div>
<span class="btn">点击此处打开弹出层</span><br>点击空白处关闭弹出层
</body>
</html>

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

<!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;
} 
#myDiv
{
background-color:#FFFFFF;
width:250px;
height:250px;
display:none;


}

</style>
<body>
<input id="btn" type="button" value="显示DIV" />
 
<div id="myDiv">
This is a div;
</div> 
</body> 
<script type="text/javascript">


var myDiv = $("#myDiv");
$(function ()
{
$("#btn").click(function (event) 
{
showDiv();//调用显示DIV方法
$(document).one("click", function () 
{//对document绑定一个影藏Div方法
$(myDiv).hide();
}); 
event.stopPropagation();//阻止事件向上冒泡
});
$(myDiv).click(function (event) 
{
event.stopPropagation();//阻止事件向上冒泡
});
});


function showDiv() 
{
$(myDiv).fadeIn();
}
</script>
jQuery 相关文章推荐
jQuery Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 #jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 #jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 #jQuery
JS和JQuery实现雪花飘落效果
Nov 30 #jQuery
jQuery zTree 异步加载添加子节点重复问题
Nov 29 #jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 #jQuery
jquery animate动画持续运动的实例
Nov 29 #jQuery
You might like
PHP静态新闻列表自动生成代码
2007/06/14 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
个人自我鉴定范文
2013/10/04 职场文书
小学生成长感言
2014/01/30 职场文书
个人简历自我评价
2014/02/02 职场文书
亲子拓展活动方案
2014/02/20 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
优秀员工事迹材料
2014/12/20 职场文书
捐书仪式主持词
2015/07/04 职场文书
领导新年致辞2016
2015/07/29 职场文书