我不明白为什么淡出有效但删除无效。我发现是数组的问题。我尝试了一些组合,但无法使其工作。
for (var i=0;i<fieldsblock.length;i++){
$("#"+fieldsblock[i]+"_tr"+nid).fadeOut();
t=setTimeout(function(){$("#"+fieldsblock[i]+"_tr"+nid).remove();},400);
}
谢谢。
最佳答案
看起来您只需要运行一次 fadeOut
即可删除remove
已完成。如果是这种情况,则不需要使用 setTimeout
。您可以改用回调:
for (var i=0;i<fieldsblock.length;i++){
$("#"+fieldsblock[i]+"_tr"+nid).fadeOut(function() {
$(this).remove();
});
}
每当动画完成时都会执行回调,因此这样做意味着如果您还想更改淡入淡出的持续时间,则不必更改 setTimeout
持续时间。
关于javascript - 将数组元素传递给 settimeout 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7572442/