2013-06-25 39 views
0

我有下面的动画背景图片的代码。在动画结束时,它淡出。但是,我想要实现的是元素在动画完成之前淡出。所以,如果动画需要6秒,而淡出需要2秒,则淡入从4秒开始,以便动画结束和淡出结束同时发生。任何帮助将非常感激。jQuery fadeout同时动画结束

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

回答

2

你必须分配不同的动画,加入队列:假值,因此DIV可以在同一time.Then有两个动画只需添加一个延迟:

http://jsfiddle.net/8df2t/

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

尝试使用.delay(),它延缓了fadeOut(2000)语句的执行4秒

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

这除非将'queue'参数设置为false(默认为true),否则不起作用。 Alvaro的答案是正确的... –

1

您可以使用这两者分别为好。

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

    window.setTimeout(function(){ 

      first_slide.fadeOut(2000);  
    },4000); 
+1

虽然使用delay()是一个更好的选择... – Janak