Jquery 使用参数时设置持续时间更改动画
以下代码动画无限运行,每次都能完美运行:Jquery 使用参数时设置持续时间更改动画,jquery,Jquery,以下代码动画无限运行,每次都能完美运行: function func(){ $('.one').animate({width:'100%'},5000,function(){ $('.two').animate({width: '100%'},1000,function(){ $('div').width('0px'); func(); }); }); } func(); 但是现在我想像这样使用fu
function func(){
$('.one').animate({width:'100%'},5000,function(){
$('.two').animate({width: '100%'},1000,function(){
$('div').width('0px');
func();
});
});
}
func();
但是现在我想像这样使用func()
的参数:
function func(one,two){
$('.one').animate({width:'100%'},one,function(){
$('.two').animate({width: '100%'},two,function(){
$('div').width('0px');
func();
});
});
}
func(5000,1000);
但这次动画持续时间非常快(请参见下一次动画)
和。调用
func()时没有传入任何值代码>在$('.two').animate()函数中。默认情况下,jQuery将未定义的
动画默认设置为400
,从而为您处理这些动画-这就是动画速度更快的原因
更改:
$('.two').animate({width: '100%'},two,function(){
$('div').width('0px');
func();
});
致:
看
使用相同的参数调用func:
func(one, two);
你能检查一下这个演示吗?我对设置间隔有些问题。。。第一个红色div将永久停留在那里。@C-linkNepal您需要停止'.one'
动画。由于某些原因,动画完成后仍在继续。您可以通过添加$('.one').stop(true)来完成此操作在调用$('div').width()之前执行code>。
func(one, two);