我希望构建一个函数,根据另一个div的可见性重新调整一个div的外观(通过.is(“:hidden”)) - 而不引入其他变量。 当我使用.hide()而不是.hide(“slow”)时,这很有效。在后一种情况下,如果立即启动,检查会将其检测为可见。 例如:
$('#1').hide("slow");
//...
if($("#1").is(':hidden'))
{
//do something with #2
}
如果我不使用“慢”(或精确地使用:.hide()),则上述效果很好。有没有办法在不引入额外变量或添加超时的情况下解决此问题?
答案 0 :(得分:2)
元素在淡出时仍然可见。你可以设置一个数据属性来告诉自己它正在消失:
$("#1").hide("slow", function() {
$(this).removeData("hiding");
}).data("hiding", true);
// ...
var one = $("#1");
if (one.is(":hidden") || one.data("hiding")) {
// ...
}