【问题标题】:jQuery FadeOut many divs at oncejQuery 一次淡出多个 div
【发布时间】:2012-04-22 23:12:04
【问题描述】:

我正在尝试一次淡出多个 div 并在完成后淡入一个 div。代码如下:

if($(this).attr("id")==="benefits-button"){

    $("#solar-about, #home-page, #process-page, #financing-page, #vendors-page, #consump-info-page, #smart-page, #wind-page, #about-page").fadeOut(750, function() {
         $("#benefits-page").fadeIn(750);
    });
    }

When there are multiple divs in the selector, the fadeOut and fadeIn happen at the same time.

问题:如何在fadeOut后得到fadeIn?

谢谢

【问题讨论】:

  • 那么..问题是什么?
  • 为什么不用class 而不是太多的ids?
  • @Raminson 您的评论实际上就是答案™。
  • @Marc:“A 不起作用。A* 起作用。”隐含的问题可能是,“如果 A* 可以,为什么 A 不工作,我如何让它以同样的方式工作?”
  • 基本上,我试图一次淡出多个 div 并在完成后淡入一个 div。上面的代码将在淡出时淡入

标签: jquery fadein fade fadeout


【解决方案1】:
$("#benefits-page").fadeIn(750);

正在立即工作,因为它在第一个元素(在您的示例中为#solar-about)fadeOut 动画完成时开始工作。

如果您想等到所有动画都完成后,可以使用.promise(),如下所示:

$("#solar-about, #home-page, #process-page, #financing-page, #vendors-page, #consump-info-page, #smart-page, #wind-page, #about-page").fadeOut(750).promise().done(function() {
     $("#benefits-page").fadeIn(750);
});

DEMO

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多