javascript - .is (":hidden") 检测元素在 .hide ("slow"之后可见

标签 javascript jquery html css

我希望构建一个函数,根据另一个 div 的可见性(通过 .is(":hidden"))重新调整一个 div 的外观,而不引入额外的变量。 这在我使用 .hide() 而不是 .hide("slow") 时效果很好。在后一种情况下,如果立即启动,检查会将其检测为可见。 示例:

$('#1').hide("slow");

//...

if($("#1").is(':hidden'))
{
    //do something with #2
}

如果我不使用“慢”(或恰好是: .hide() ),上面的效果很好。有没有办法在不引入额外变量或添加超时的情况下实现这一目标?

最佳答案

该元素在淡出时仍然可见。您可以设置一个数据属性来告诉自己它正在消失:

$("#1").hide("slow", function() {
    $(this).removeData("hiding");
}).data("hiding", true);

// ...
var one = $("#1");
if (one.is(":hidden") || one.data("hiding")) {
    // ...
}

关于javascript - .is (":hidden") 检测元素在 .hide ("slow"之后可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46392770/

相关文章:

javascript - 后期输出的差异

javascript - 使 OwlCarousel 中的多个项目向前滑动

jquery图像旋转和缩放问题

javascript - 数组上的递归深度函数

javascript - 何时使用 this.props.children 以及为什么

javascript - AJAX 请求在家里可以工作,但在我的学校不行

javascript - JS 中的全局变量 vs 本地存储 vs DOM 中的值,哪个更有效?

javascript - 通过预处理运行 javascript

html - 使用 MVC4 捆绑和 HTML5 异步属性异步加载 javascript 文件

javascript - 问题 : The <p> tag is not displayed on my <div>