html取消空白处取消隐藏,jquery如何实现点击空白处隐藏元素

我们在网站开发的时候经常会有点击空白处去隐藏已有的元素,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代码:

点击空白区域弹出层关闭!

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

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

点击空白处关闭弹出层

#box{width:300px;height:200px;border:1px solid #000;display:none;}

.btn{color:red;}

$(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();

};

})

点击此处打开弹出层
点击空白处关闭弹出层

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

body

{

background-color:#999999;

}

#myDiv

{

background-color:#FFFFFF;

width:250px;

height:250px;

display:none;

}

This is a div;

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();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值