【问题标题】:jQuery fadeOut at same time animation endsjQuery淡出同时动画结束
【发布时间】:2013-06-21 17:30:55
【问题描述】:

我有以下代码可以为背景图像设置动画。在动画结束时,它会淡出。但是,我想要实现的是在动画完成之前让元素淡出。因此,如果动画需要 6 秒,而淡出需要 2 秒,那么淡出将在 4 秒开始,这样动画的结束和淡出的结束同时发生。任何帮助将不胜感激。

first_slide.animate({'background-size':'100%'}, 6000, 'linear').fadeOut(2000);

【问题讨论】:

    标签: jquery animation fadeout


    【解决方案1】:

    你必须以不同的方式分配动画,添加 queue:false 值以便 div 可以同时有两个动画。然后只需添加延迟:

    http://jsfiddle.net/8df2t/

    first_slide.animate({
        'background-size': '100%'
    }, {
        duration: 6000,
        easing: 'linear',
        queue: false
    })
        .delay(4000).fadeOut(2000);
    

    【讨论】:

      【解决方案2】:

      您也可以分别使用它们。

           first_slide.animate({'background-size':'100%'}, 6000, 'linear');
      
           window.setTimeout(function(){
      
                 first_slide.fadeOut(2000);       
           },4000);
      

      【讨论】:

        【解决方案3】:

        尝试使用.delay(),它会将fadeOut(2000) stmt的执行延迟4秒

        first_slide.animate({'background-size':'100%'}, 6000, 'linear').delay(4000).fadeOut(2000);
        

        【讨论】:

        • 除非您将queue 参数设置为false(默认为true),否则这将不起作用。阿尔瓦罗的答案是正确的……
        猜你喜欢
        • 2013-11-27
        • 1970-01-01
        • 2013-10-27
        • 1970-01-01
        • 1970-01-01
        • 2010-11-16
        • 1970-01-01
        • 2011-07-14
        • 2011-04-09
        相关资源
        最近更新 更多