Javascript 如何通过暂停链接jQuery动画?
大家好,我正在用jQuery做一个简单的链式动画,在每一帧之间有一个暂停(setTimeout) 假设每个div的动画持续时间为3500。我想控制动画中每个不透明度淡入淡出之间的持续时间。比如说在第一段和第二段之间,持续时间是5秒,在第二帧和第三帧之间可能是10秒 你会怎么做 现行代码Javascript 如何通过暂停链接jQuery动画?,javascript,jquery,animation,jquery-animate,Javascript,Jquery,Animation,Jquery Animate,大家好,我正在用jQuery做一个简单的链式动画,在每一帧之间有一个暂停(setTimeout) 假设每个div的动画持续时间为3500。我想控制动画中每个不透明度淡入淡出之间的持续时间。比如说在第一段和第二段之间,持续时间是5秒,在第二帧和第三帧之间可能是10秒 你会怎么做 现行代码 $('#blue').animate({ opacity: '1' }, 3500, function(){ // Need 5 sec pause her
$('#blue').animate({
opacity: '1'
}, 3500, function(){
// Need 5 sec pause here
$('#blue').fadeOut('fast');
$('#orange').animate({
opacity: '1'
}, 3500, function(){
// Need a 10 sec pause here
$('#orange').fadeOut('fast');
$('#green').animate({
opacity: '1' }, 3500);
});
});
您可以将jQuery淡出/淡出方法与回调一起使用 有关更多信息,请参阅 但本质上是,
$(".myClass").fadeOut(1000, function() {
//fadeOut complete
});
第一个参数是直到它完全消失的时间长度(毫秒)。在该持续时间过后,将触发回调。因此,您可以安全地假设,当回调触发时,您所需的等待时间已经完成
fadeIn的语法也一样,但我建议阅读我提供的链接。它将对其进行更详细的解释。您可以将jQuery fadeOut/fadeIn方法用于回调 有关更多信息,请参阅 但本质上是,
$(".myClass").fadeOut(1000, function() {
//fadeOut complete
});
第一个参数是直到它完全消失的时间长度(毫秒)。在该持续时间过后,将触发回调。因此,您可以安全地假设,当回调触发时,您所需的等待时间已经完成
fadeIn的语法也一样,但我建议阅读我提供的链接。它将更详细地解释它。这正是.delay()的用途()。它允许您为单个元素编写优雅的动画链,如下所示:
$( "#foo" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );
请注意,您仍然需要使用回调来启动其他对象的动画
在您的情况下,应该是这样(未经测试):
这正是.delay()的作用。它允许您为单个元素编写优雅的动画链,如下所示:
$( "#foo" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );
请注意,您仍然需要使用回调来启动其他对象的动画
在您的情况下,应该是这样(未经测试):
这就是delay()
和queue()
的作用:
$('#blue').animate({opacity: '1'}, 3500).delay(5000).queue(function() {
$(this).fadeOut('fast');
$('#orange').animate({opacity: '1'}, 3500).delay(10000).queue(function() {
$(this).fadeOut('fast');
$('#green').animate({opacity: '1'}, 3500);
});
});
这就是delay()
和queue()
的作用:
$('#blue').animate({opacity: '1'}, 3500).delay(5000).queue(function() {
$(this).fadeOut('fast');
$('#orange').animate({opacity: '1'}, 3500).delay(10000).queue(function() {
$(this).fadeOut('fast');
$('#green').animate({opacity: '1'}, 3500);
});
});
嘿@PSL谢谢!第一个看起来像是我需要的第二个,卡恩做的动画太快了,似乎没有正确地遵循持续时间?嘿@PSL谢谢!第一个似乎是我需要的第二个和kayen做的动画太快,似乎没有正确地遵循持续时间?谢谢,这正是我需要知道的:)谢谢,这正是我需要知道的:)谢谢你的解释+谢谢你的解释+1.