2011-11-20 112 views
0

我有一個腳本,顯示網站的背景開始。一段時間後停止。我怎樣才能使它成爲一個循環?如何將背景動畫製作成循環(重複功能)

$(function(){ 
    $('#midground').css({backgroundPosition: '0px 0px'}); 
    $('#foreground').css({backgroundPosition: '0px 0px'}); 

    $('#midground').animate({ 
    backgroundPosition:"(-10000px -2000px)" 
    }, 240000, 'linear'); 

    $('#foreground').animate({ 
    backgroundPosition:"(-10000px -2000px)" 
    }, 180000, 'linear'); 
}) 

回答

2

將它粘在一個函數中,然後在setTimeout後調用它自己。

function myAnimation() { 
    $('#midground').css({backgroundPosition: '0px 0px'}); 
    $('#foreground').css({backgroundPosition: '0px 0px'}); 

     $('#midground').animate({ 
      backgroundPosition:"(-10000px -2000px)" 
     }, 240000, 'linear'); 

     $('#foreground').animate({ 
      backgroundPosition:"(-10000px -2000px)" 
     }, 180000, 'linear', function() { 
      setTimeout(myAnimation, 500); 
     }); 
    }); 
} 
+0

是的,儘管有那些非常長的動畫延遲,它可能是最好從其中一個完成回調中調用「setTimeout()」。 – Pointy

+0

是的。根據OP是否希望動畫異步發生,他可能需要將第二個'animate'設置爲第一個的回調。 –

+0

很好,工作。稍微調整一下,我就把它們放在一個循環中。謝謝Neurotrace –