需要重复功能

时间:2012-02-08 18:37:09

标签: jquery

我需要你的帮助。我是一个noobie,需要一些帮助才能让动画在完成后循环回到第一个函数。

以下是代码:

function phase1()
{
$('#main .home_intro.phase1 h2').eq(0).delay(1000).fadeTo(500,1);
$('#main .home_intro.phase1 h2').eq(1).delay(2000).fadeTo(500,1);
$('#main .home_intro.phase1 h2').eq(2).delay(3000).fadeTo(500,1);
$('#main .home_intro.phase1 h2').eq(3).delay(4000).fadeTo(500,1);
$('#main .home_intro.phase1 h2').eq(4).delay(5000).fadeTo(500,1);
$('#main .home_intro.phase1').delay(6000).fadeTo(500,0, phase2);
};

function phase2()
{
$('#main .home_intro.phase2 h2').delay(1000).fadeTo(500,1);
$('#main .home_intro.phase2').delay(4000).fadeTo(500,0,phase3);
};

function phase3()
{
$('#main .home_intro.phase3 h2').delay(1000).fadeTo(500,1);
$('#main .home_intro.phase3').delay(4000).fadeTo(500,0,phase1);
};

phase1();

});

2 个答案:

答案 0 :(得分:0)

看起来它可能正在循环回来,但是你在第一次消失所有东西,所以它消失了,你没有看到任何效果。

答案 1 :(得分:0)

如果您已将功能置于$(document).ready功能之外,则只需写下:

$(document).ready(function () {
   phase1(), phase2(), phase3();
});

function phase1() {
    $('#main .home_intro.phase1 h2').eq(0).delay(1000).fadeTo(500,1);
    $('#main .home_intro.phase1 h2').eq(1).delay(2000).fadeTo(500,1);
    $('#main .home_intro.phase1 h2').eq(2).delay(3000).fadeTo(500,1);
    $('#main .home_intro.phase1 h2').eq(3).delay(4000).fadeTo(500,1);
    $('#main .home_intro.phase1 h2').eq(4).delay(5000).fadeTo(500,1);
    $('#main .home_intro.phase1').delay(6000).fadeTo(500,0);
};

function phase2() {
    $('#main .home_intro.phase2 h2').delay(1000).fadeTo(500,1);
    $('#main .home_intro.phase2').delay(4000).fadeTo(500,0);
};

function phase3() {
    $('#main .home_intro.phase3 h2').delay(1000).fadeTo(500,1);
    $('#main .home_intro.phase3').delay(4000).fadeTo(500,0);
    phase1();
};

剩下的代码就在外面。 如果你需要从一个函数转到另一个函数,则将phase()放在函数的底部。