使“每个”循环连续发生

发布于 2024-11-28 09:03:16 字数 790 浏览 0 评论 0原文

我有两个操作需要应用于一组 DIV,但我需要一个周期在另一个周期完成之前发生。

这是我的代码:

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

但目前,do stuff next 发生在 do stufffirst 完成之前。我能做些什么来阻止这一切吗?

完整脚本

$("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);

                    }
        });

I have two actions I need to apply to a set of DIV's, but I need one cycle to happen before the other is finished.

Here is my code:

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

but at present, do stuff next happens before do stuff first finishes. Anything I can do to stop this?

Full Script

$("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);

                    }
        });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贱贱哒 2024-12-05 09:03:16

知道您想要淡入然后设置高度,这会满足您的要求吗?

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);
});

Knowing that you want to fadeIn and then set height, will this do what you require?

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

Using each to allow different settings for different divs:

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

Seeing your code snippet I believe I got it now:

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);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文