2014-03-04 137 views
0

我正在嘗試使用jQuery製作重複動畫。我使用while循環,條件設置爲true,但我認爲瀏覽器不喜歡它。製作重複動畫

正確地做到這一點的方法是什麼?

http://jsfiddle.net/8cV2R/2/

$('.test').click(function() { 
    while (true) { 
     $(this).hide(1000); 
     $(this).show(1000); 
    } 
}); 
+0

用CSS動畫,可能!但如果失敗了,你需要使用[callback parameter](http://api.jquery.com/show)並在那裏運行你的下一個動畫。 – Ryan

+0

*「但我認爲瀏覽器不喜歡它。」*您先生讓我的一天,謝謝:) –

回答

0

你需要編寫其自身作爲一個回調函數。這就是你循環一個函數的方式。

http://jsfiddle.net/8cV2R/8

$('.test').click(fadeIt); 

function fadeIt() { 
    $('.test').hide(1000, function() { 
     $('.test').show(1000, fadeIt); 
    }); 
} 
0
function h() { $(this).hide(1000, s); }; 
function s() { $(this).show(1000, h); }; 
$('.test').click(h); 

jsFiddle example

或者,沒有寬度/高度動畫隱藏指定的持續時間時,讓你獲得更多的閃爍效果/展示創建:jsFiddle example

2

這應該是足夠了:

$('.test').click(doMe); 

function doMe(){ 
    $(this).hide(1000).show(1000, doMe); 
} 

http://jsfiddle.net/8cV2R/7/

爲你的jQuery排隊動畫。