FadeOut和删除到FOR不起作用

时间:2014-02-01 08:01:57

标签: jquery dom for-loop fadeout removechild

for(x=0; x < Number; x++){
   $(this).parentsUntil('.formRow').siblings(ContentValveForm).children('div:last-child').remove();     
}

该代码工作正常,但是当我尝试添加.fadeOut效果然后删除x数量的项目时,只删除了最后一个。为什么?请帮忙。

for(x=0; x < Number; x++){
   $(this).parentsUntil('.formRow').siblings(ContentValveForm).children('div:last-child').fadeOut(500, function(){$(this).remove();});      
}

1 个答案:

答案 0 :(得分:0)

因为for()上的500毫秒计时器完成后,fadeOut()循环已经结束了。

您也不应该为x使用全局变量。将其更改为:

for(var x = 0; x < Number; x++) {

尝试在fadeOut / remove周围使用.queue(),以便不会跳过任何内容。

$(this).parentsUntil('.formRow')
       .siblings(ContentValveForm)
       .children('div:last-child')
       .queue(function() {
            $(this).fadeOut(500, function(){
                $(this).remove();
            });
        });