我有输入的表格。输入的答案和可见性可能会影响位于其下方的其他输入的可见性。
我有 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);
}
}
});
我的代码运行良好,但我想为隐藏功能添加持续时间,但随后我的可见性检查失败。是否有可能知道某些元素是否已经开始隐藏但仍然可见?
我不想使用回调函数,因为它是在延迟之后执行的。其次,我不想更改隐藏输入的值。一种解决方案是添加一些可以检查存在的额外类,但是有没有更好的方法来做到这一点?
我在小提琴中的代码:http: //jsfiddle.net/nmUPj/3/
有关更多信息,我的实际代码要复杂得多,并且从 MySQL 获取有关表单的信息并使用 PHP 生成表单和 javascript 代码。