gpt4 book ai didi

jquery - 如何检查 jquery 中 div 的显示(无/ block )?

转载 作者:技术小花猫 更新时间:2023-10-29 12:49:30 24 4
gpt4 key购买 nike

我正在用这个,

$("#loginanchor1").click(function (e) {
e.preventDefault();
$("#signin_menu1").slideDown("slow");
});
$(document).mouseup(function (e) {
if ($(e.target).parent("a.loginanchor1").length == 0) {
//$(".signin").removeClass("menu-open");
$("#signin_menu1").slideUp("slow");
}
});

一切正常,但是当 signin_menu1 显示 block 并且我在 div 内单击我的鼠标按钮时,div slidesup...我希望在 时阻止 mouseup 函数signin_menu1 显示 block 。所以我想改变条件,比如,

if(($(e.target).parent("a.loginanchor1").length==0) &&(//检查div的显示情况)

现在如何查看显示?

最佳答案

尝试

$(document).mouseup(function (e) {
var $parent = $(e.target).parent("a.loginanchor1");
if ($parent.length == 0 && !$("#signin_menu1").is(':visible')) {
//$(".signin").removeClass("menu-open");
$("#signin_menu1").slideUp("slow");
}
});

我对这个问题感到困惑,但是 $("#signin_menu1").is(':visible') 会检查 div 是否可见 (display:block)。

添加注释:

您可以尝试检查 $(e.target)signin_menu1 还是在 signin_menu1 中。这样做,

$(document).mouseup(function (e) {
if ($(e.target).is('#signin_menu1') || $(e.target).closest('#signin_menu1').length > 0) { return ; } // do nothing on mouseup
var $parent = $(e.target).parent("a.loginanchor1");
if ($parent.length == 0) {
//$(".signin").removeClass("menu-open");
$("#signin_menu1").slideUp("slow");
}
});

关于jquery - 如何检查 jquery 中 div 的显示(无/ block )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com