Javascript jqueryhide-如何知道元素是否已开始隐藏但仍然可见?

Javascript jqueryhide-如何知道元素是否已开始隐藏但仍然可见?,javascript,jquery,hide,Javascript,Jquery,Hide,我有表格,里面有输入。答案和输入的可见性可能会影响位于其下方的其他输入的可见性 我有一个javascript函数,当一些输入的值发生变化时调用它。函数将检查每个输入,并检查其可见性和答案。基于该信息,它可能隐藏或显示一些其他输入。一个循环就足够了,因为元素的可见性不会影响以前元素的可见性 $(".test_this").each(function() { var id_number = $(this).attr("id").split("_")[1]; var tested_id

我有表格,里面有输入。答案和输入的可见性可能会影响位于其下方的其他输入的可见性

我有一个javascript函数,当一些输入的值发生变化时调用它。函数将检查每个输入,并检查其可见性和答案。基于该信息,它可能隐藏或显示一些其他输入。一个循环就足够了,因为元素的可见性不会影响以前元素的可见性

$(".test_this").each(function() {
    var id_number = $(this).attr("id").split("_")[1];
    var tested_id = parseInt(id_number) + 1;
    if ($(this).find("input:checked").val() != 1 || $(this).is(":hidden")) {
        if ($("#element_"+tested_id).is(":visible")) {
            $("#element_"+tested_id).hide();
        }
    }
    else {
        if ($("#element_"+tested_id).is(":hidden")) {
            $("#element_"+tested_id).show(500);   
        }                     
    }                  
});
我的代码运行得很好,但我想添加duration来隐藏函数,但我的可见性检查失败了。是否可以知道某个元素是否已开始隐藏但仍然可见

我不想使用回调函数,因为它是在延迟之后执行的。其次,我不想更改隐藏输入的值。一个解决方案是添加一些额外的类,这些类的存在是可以检查的,但是有没有更好的方法呢

我的小提琴代码:


关于进一步的信息,我的实际代码要复杂得多,从MySQL获取表单信息,并使用PHP生成表单和javascript代码。

您可以通过以下方式检查元素是否仍处于动画状态:

$("#element_"+tested_id).is(":animated")
或者,您可以为show()提供回调函数


可以通过以下方法检查元素是否仍在设置动画:

$("#element_"+tested_id).is(":animated")
或者,您可以为show()提供回调函数


如果使用
hide()
时没有持续时间,则它不是异步的,并且没有“开始隐藏”,它是隐藏的还是不隐藏的。如果它是动画,它将是。。。等等。。。动画->
如果($(元素).is(':animated'){…}
。您可能正在寻找的是,只需向元素添加一个类,然后检查该类,因为它是否具有动画效果并不重要。@adeneo感谢您的评论。也许添加新类是我的最佳选择。如果使用
hide()
时没有持续时间,那么它不是异步的,并且没有“开始隐藏”,它是隐藏的还是不隐藏的。如果它是动画,它将是。。。等等。。。动画->
如果($(元素).is(':animated'){…}
。您可能正在寻找的是,只需向元素添加一个类,然后检查该类,因为它是否具有动画效果并不重要。@adeneo感谢您的评论。也许添加新类是我的最佳选择。谢谢,我不知道,但它仍然不能解决我的问题,因为我不知道它是因为隐藏还是显示而动画。谢谢,我不知道,但它仍然不能解决我的问题,因为我不知道它是因为隐藏还是显示而动画。