【发布时间】:2011-09-13 07:43:13
【问题描述】:
我需要在一个循环中一张一张地为 3 张图像的不透明度设置动画……我编写了下面的代码并且它工作正常,但是这段代码是好的还是我们可以优化它。请大家多多指教。
function animateit(play){
if(play==false){
$(".img2", obj).stop(true, true).fadeTo('800', 0);
$(".img3", obj).stop(true, true).fadeTo('800', 0);
$(".img4", obj).stop(true, true).fadeTo('800', 0);
}
if(play==true){
$(".img2", obj).animate({opacity:"1"}, s, e,
function(){
$(".img3", obj).delay(p).animate({opacity:"1"}, s, e,
function(){
$(".img2").css({opacity:"0"});
$(".img4", obj).delay(p).animate({opacity:"1"}, s, e,
function(){
$(".img3").css({opacity:"0"});
$(".img4", obj).delay(p).animate({opacity:"0"}, s, e,
function(){
$(".img4", obj).delay(p).animate({opacity:"0"}, s, e,
function(){
if(play==true)animateit(true);
});
});
});
});
});
}
}
【问题讨论】:
-
我从您的问题中删除了所有粗体文本。不客气。
-
看看这个 - stackoverflow.com/questions/6126/… @Andrew -
-
@Andrew 非常感谢...下次我会关心的。
-
@Rob 如果不是我的问题。我的代码看起来很丑,因为我不得不使用太多的动画回调:(
-
到目前为止,我从肖恩那里得到了答案。但如果有人可以帮助我优化它,将不胜感激。
标签: javascript jquery queue jquery-animate