如何返回功能?

时间:2014-10-19 22:27:58

标签: jquery

如何返回或回拨此方法?

setTimeout(function() {
    $(".header-50").fadeIn("slow");
    $(".header-cover-right").animate({ height: "60%"} , 2000);
    $(".header-25").fadeIn("slow");
    $(".header-cover-left").animate({ height: "60%"} , 2000);
    $(".header-10").fadeIn("slow");
 }, 5000);

我想在5秒后将功能更改为

setTimeout(function() {
    $(".header-50").fadeIn("slow");
    $(".header-cover-right").animate({ height: "100%"} , 2000);
    $(".header-25").fadeIn("slow");
    $(".header-cover-left").animate({ height: "100%"} , 2000);
    $(".header-10").fadeIn("slow");
 }, 5000);

......我怎么能永远重复这种方法呢?

2 个答案:

答案 0 :(得分:0)

递归函数怎么样?

function doStuff(i){

    var height = (i % 2) ? 60 : 100;

    if(i){ // from 5 seconds and onwards...

        $('.header-cover-right').animate({ height: height + 'px' } , 2000);
        // etc...
    }

    setTimeout(function(){
        doStuff(++i || 1);
    }, 5000);
}

doStuff();

http://jsfiddle.net/7g1f2aar/2/

答案 1 :(得分:-1)

尝试类似的东西(它的正义和想法,你可以改进它)

    var edit = true;

function f1() {
    alert('s1');
    edit = false;
 }


function f2() {
    alert('s2');
    edit = true;
 }

function choose()
{
    if(edit)
    {
       f1();
    }
    else
    {
       f2();
    }
}

setInterval(function(){choose();}, 1000);