4

我正在尝试替换 Flash 电影。

动画真的很简单,背景图片向左滑动10秒..同时显示一个带有他名字的产品。

我能够用jquery重新创建动画..它工作得很好..但只是一次!T_T

有人知道我怎样才能让它循环吗?

这是代码

function first() {
    $(".img1").animate({left: "-214"}, 10000);
    $(".img2").hide();
    // i hide everything        
};

function second() { 
    $(".img2").fadeIn("slow");
    $(".img1").fadeOut("slow");
    $(".img2").animate({left: "-214"}, 10000);
    // other div animations.. fades in.. slides.. etc.
};

计时函数为:

$(function() {  
    setTimeout("first()",0);
    setTimeout("second()",10000);
    setTimeout("third()",20000);
    setTimeout("fourth()",30000);
    setTimeout("fifth()",40000);        
});

我尝试清除 setTimeout .. 显然没有成功.. 所以如果你们有任何线索我怎么能用这些功能(第一,第二,第三..等等..)创建一个无限循环,我全神贯注.

谢谢!!

4

3 回答 3

2

尝试这个:

...
function doAnimation() {
    setTimeout("first()",0);
    setTimeout("second()",10000);
    setTimeout("third()",20000);
    setTimeout("fourth()",30000);
    setTimeout("fifth()",40000);  
}

$(document).ready() {
    setInterval("doAnimation()", 5000);
});

请参阅Javascript 计时事件

于 2010-03-02T01:55:25.213 回答
0

使用回调参数让每个函数触发下一个函数!

于 2010-03-02T01:54:23.560 回答
0

将您的动画代码包装在一个函数中,并让它在最后为自己设置一个计时器。就像是:

function doAnimation() {
    setTimeout("first()",0);
    setTimeout("second()",10000);
    setTimeout("third()",20000);
    setTimeout("fourth()",30000);
    setTimeout("fifth()",40000);
    setTimeout("doAnimation()", 50000);
}
于 2010-03-02T01:55:46.150 回答