2014-10-19 44 views
-4

如何返回或回調此方法?如何返回函數?

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); 

...我怎麼可以永遠重複這個方法?

回答

-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); 
+0

你真的需要之前聲明'edit'變量... – 2014-10-19 22:38:20

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/