不使用关闭按钮隐藏模式窗口
Hiding a modal window without using close button
我有一个图片库。单击任何图像都会打开一个带有已单击图像的模态窗口。我想隐藏模式窗口。我知道怎么按关闭按钮。但我不想添加任何关闭按钮。我想做的是,每当用户单击div gallery-image
gallery-control-previous
gallery-control-next
之后的任何位置时,模式窗口都应该被隐藏。
有人能建议我如何做到这一点吗。
这是我的jsFiddle
演示
单击除navigation keys
之外的其他内容时隐藏
$('.gallery-overlay').click(function(event){
if($(event.target).hasClass('gallery-control') ==false){
$(this).hide();
}
});
点击image
和navigation keys
以外的内容时隐藏
$('.gallery-overlay').click(function(event){
if($(event.target).hasClass('gallery-control') ==false && $(event.target).hasClass('gallery-image') == false){
$(this).hide();
}
});
您可以使用fadeout('slow')
而不是隐藏来获得良好的效果
这是
jsFiddle
将其添加到jquery代码的末尾。
$(".gallery-overlay").click(function(e) {
if($(e.target).hasClass("gallery-image") || $(e.target).hasClass("gallery-control-next") || $(e.target) .hasClass("gallery-control-previous")){/**/}
else {$(".gallery-overlay").fadeOut("2000");
}
});
e.target在.gallery-overlay
中给出实际点击的区域。$(this)
不起作用。您可以通过增加时间来降低模式窗口的衰落速率。这里是2000,也就是2秒。
只需在代码中添加以下内容:
$('.gallery-overlay').click(function() {
$(this).fadeOut('slow');
});
$('.gallery-image').click(function() {
return false;
});
您还需要在.gallery-control-previous
、.gallery-control-next
和.gallery-image
的click
处理程序的末尾添加return false
,以便事件不会传播到.gallery-overlay
。
更新的小提琴。
只需向fadeOut()
添加一个点击事件.gallery-overlay
onclick。
查看JSFiddle以获取示例
然后,为您的.gallery-captionbox
和.gallery-image
添加一个click
事件和return false
。
// Hide the gallery on click
$('.gallery-overlay').click(function(){
$(this).fadeOut();
});
// Return false on click of the caption box or the image itself
$('.gallery-captionbox, .gallery-image').click(function(){
return false;
});
// All your other code below
查看JSFiddle
Try,
$(文档).点击(函数(e){if(e.target.id!='yourDivId'){$("#yourDivId").hide();}});
- Angular$scope在模式窗口内不起作用
- 更改不在引导模式窗口中工作的月份和年份
- TinyMCE全屏不允许出现模式窗口
- 自动模式窗口?/欢迎弹出框
- 推特Boostrap模式窗口-可拖动不工作
- Twitter Boostrap:模式窗口在重新播放模式窗口后不播放视频
- 在Bootstrap模式窗口中打开远程内容
- jQuery模式窗口在内容为“”时不居中;注入“;在飞行中
- 如何在模式窗口弹出窗口中隐藏滚动条
- fancybox将内容更改为模式窗口
- 将值传递给模式窗口中的 JavaScript 函数
- HTML 瞬态模式窗口
- 具有 UI 引导模式窗口的父$scope子
- 如何将参数传递到 UI 路由器状态的模式窗口
- 如何使用引导程序创建模式窗口
- j查询模式窗口,刷新父问题
- 无法将引导模式窗口作为路由打开
- 如何使模式窗口打开动态内容并更改url
- 在引导模式窗口内路由
- 更新面板和模式窗口