使''每个'循环连续发生

时间:2011-08-07 22:01:26

标签: javascript jquery each

我有两个动作需要应用于一组DIV,但我需要在另一个完成之前完成一个循环。

这是我的代码:

$("div").each(function(){
        //do stuff first
}).each(function(){
        //do stuff next
});

但目前,do stuff nextdo stuff first完成之前发生。我能做些什么来阻止这个?

完整脚本

$("div").each(function(){
                    if($(this).html() === "yes"){

                        $(this).fadeOut(time,function(){
                            $(this).parent().height(0);
                        });



                    }
        }).each(function(){
                    if($(this).html() !== "yes"){

                        $(this).parent().height(25);
                        $(this).fadeIn(time);

                    }
        });

1 个答案:

答案 0 :(得分:0)

知道你想要淡入然后设置高度,这会做你需要的吗?

var divs = $('div');
divs.fadeIn(function () {
  divs.height('200');
});

使用每个允许不同div的不同设置:

$('div').each(function () {
  var div = $(this), toggle = true;
  div.fadeIn(function () {
    if (toggle = !toggle) {
      div.height('200');
    } else {
      div.width('200');
    }
  });
});

看到你的代码片段我相信我现在得到了它:

var yesDivs = $('div').filter(function () {
  return $(this).html() === 'yes';
});
yesDivs.fadeOut(time, function () {
  yesDivs.parent().height(0);
  $('div').filter(function () {
    return $(this).html() !== 'yes';
  }).fadeIn(time).parent().height(25);
});