2012-10-03 70 views
0

這裏是我的動畫的jsfiddle:http://jsfiddle.net/cCAPk/輕微修改我的jQuery動畫

如果你看它,你可以看到,當DIV回到他原來的位置,黑色方塊是空的一對夫婦的秒。我不希望發生這種情況。如果添加溢出:隱藏在CSS中,您可以清楚地看到div結束的位置以及重新開始的位置。

我該如何解決這個問題?

同時,我不認爲我有當動畫重新開始計算的最好方式..

任何幫助嗎?

這裏的JS:

function loop2() { 
    var lenght = $('#digit8').html().replace(/[^0-9]/gi, "").length; 
    var top = $('#digit8').css("top"); 
    var max = "-" + (lenght -1) * 45 + "px"; 

    $('#digit8').animate({ 
     top: "-=45" 
    }, 300, function() { 

    if(top == max){ 
     $('#digit8').css("top","45px");  
    } 
}); 
} 

for (i=0; i<5; i++) 
{ 
    var number = Math.floor(Math.random()*9);    
    $("#digit8").append(number+" "); 
} 

setInterval("loop2()",600);​ 

回答

0

這就是我想出了:http://jsfiddle.net/cCAPk/2/

我改變發電機產生的不是文字,以便更容易地取出元素。循環將包裝45px向上移動並在回調中移除第一個元素並將其放在最後(將包裝重新移至45px以進行計算)。

一個不太DOM操作密集的解決辦法是不使用的回調:http://jsfiddle.net/cCAPk/3/

這有一個問題,我試圖解決與第一溶液:最後一個和第一個元素的動畫是不一樣的其他人(在將div移回時無法看到最後一個元素)。

+0

謝謝你,第一個解決方案是完美的! – Lelly