【发布时间】:2013-06-21 17:30:55
【问题描述】:
我有以下代码可以为背景图像设置动画。在动画结束时,它会淡出。但是,我想要实现的是在动画完成之前让元素淡出。因此,如果动画需要 6 秒,而淡出需要 2 秒,那么淡出将在 4 秒开始,这样动画的结束和淡出的结束同时发生。任何帮助将不胜感激。
first_slide.animate({'background-size':'100%'}, 6000, 'linear').fadeOut(2000);
【问题讨论】:
我有以下代码可以为背景图像设置动画。在动画结束时,它会淡出。但是,我想要实现的是在动画完成之前让元素淡出。因此,如果动画需要 6 秒,而淡出需要 2 秒,那么淡出将在 4 秒开始,这样动画的结束和淡出的结束同时发生。任何帮助将不胜感激。
first_slide.animate({'background-size':'100%'}, 6000, 'linear').fadeOut(2000);
【问题讨论】:
你必须以不同的方式分配动画,添加 queue:false 值以便 div 可以同时有两个动画。然后只需添加延迟:
first_slide.animate({
'background-size': '100%'
}, {
duration: 6000,
easing: 'linear',
queue: false
})
.delay(4000).fadeOut(2000);
【讨论】:
您也可以分别使用它们。
first_slide.animate({'background-size':'100%'}, 6000, 'linear');
window.setTimeout(function(){
first_slide.fadeOut(2000);
},4000);
【讨论】:
尝试使用.delay(),它会将fadeOut(2000) stmt的执行延迟4秒
first_slide.animate({'background-size':'100%'}, 6000, 'linear').delay(4000).fadeOut(2000);
【讨论】:
queue 参数设置为false(默认为true),否则这将不起作用。阿尔瓦罗的答案是正确的……