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 EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
May 20 jQuery
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
使用jQuery实现动态添加小广告
Jul 11 jQuery
jqueryUI tab标签页代码分享
Oct 09 jQuery
JQuery 又谈ajax局部刷新
Nov 27 jQuery
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 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 清除网页病毒的方法
2008/12/05 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php购物车实现方法
2015/01/03 PHP
php绘制一个扇形的方法
2015/01/24 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
Python插件机制实现详解
2020/05/04 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
体育课课后反思
2014/04/24 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
本科毕业生求职信
2014/06/15 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
二手房购房意向书
2015/05/09 职场文书
找规律教学反思
2016/02/23 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
Python 内置函数速查表一览
2021/06/02 Python