单击 div,淡入 div,单击 div 或在 div 外淡出 div
Click div, fade in div, click div OR outside div to fade out div
所以我有一些我知道有效的代码,当你按下 div 时,它会打开第二个 div(设置为显示:none 在 css 中)。然后单击打开第二个 div 的同一个 div 以将其关闭(淡出)。
不过,我希望能够做到这一点,这样您就可以单击 OUTSIDE,它就会淡出。我已经尝试了很多代码,但我无法让它工作。请帮忙!
$(document).ready(function() {
$("#dashbox").click(function() {
$("#dashboardbox").fadeToggle();
});
});
您可以通过附加一个额外的处理程序来做到这一点,该处理程序 fadeOut
div 无论它是否可见
$("body").click(function(e) {
if(e.target.id != "dashbox"){
$("#dashboardbox").fadeOut();
}
});
向文档添加一个点击事件,如果该框尚未隐藏,则检查它是否没有被点击#dashboardbox 或#dashbox(将触发切换两次)或其任何子项触发。如果一切顺利,它将淡出方框。
$(document).ready(function() {
$(document).click(function(e) {
// Skip if already hidden
if(!$('#dashboardbox').is(":visible"))
return;
// Skip if clicked dashbox or its children
if ($(event.target).closest('#dashbox').length)
return;
// Skip if clicked dashboardbox or its children
if ($(event.target).closest('#dashboardbox').length)
return;
// Fade out
$("#dashboardbox").fadeOut();
});
$("#dashbox").click(function(e) {
$("#dashboardbox").fadeToggle();
});
});
所以我有一些我知道有效的代码,当你按下 div 时,它会打开第二个 div(设置为显示:none 在 css 中)。然后单击打开第二个 div 的同一个 div 以将其关闭(淡出)。
不过,我希望能够做到这一点,这样您就可以单击 OUTSIDE,它就会淡出。我已经尝试了很多代码,但我无法让它工作。请帮忙!
$(document).ready(function() {
$("#dashbox").click(function() {
$("#dashboardbox").fadeToggle();
});
});
您可以通过附加一个额外的处理程序来做到这一点,该处理程序 fadeOut
div 无论它是否可见
$("body").click(function(e) {
if(e.target.id != "dashbox"){
$("#dashboardbox").fadeOut();
}
});
向文档添加一个点击事件,如果该框尚未隐藏,则检查它是否没有被点击#dashboardbox 或#dashbox(将触发切换两次)或其任何子项触发。如果一切顺利,它将淡出方框。
$(document).ready(function() {
$(document).click(function(e) {
// Skip if already hidden
if(!$('#dashboardbox').is(":visible"))
return;
// Skip if clicked dashbox or its children
if ($(event.target).closest('#dashbox').length)
return;
// Skip if clicked dashboardbox or its children
if ($(event.target).closest('#dashboardbox').length)
return;
// Fade out
$("#dashboardbox").fadeOut();
});
$("#dashbox").click(function(e) {
$("#dashboardbox").fadeToggle();
});
});