2012-03-23 281 views
1

有什麼辦法讓這個簡單的jQuery動畫不閃爍? http://jsfiddle.net/v3DVf/6/JQuery動畫閃爍

+0

你是什麼意思閃爍?它不會爲我閃光 – 2012-03-23 18:43:55

+0

我想它依賴於瀏覽器。我正在運行Chrome,它閃爍的時候,如果我滾動得太快... – 2012-03-23 18:45:04

+0

我剛剛試過IE瀏覽器,這真的很糟糕... – 2012-03-23 18:48:38

回答

4

這可能是因爲你滾動速度太快,jQuery來計算一切。這似乎幫助:

$(window).scroll(function() { 
    var scrollTop = $(window).scrollTop(); 
    $('#left').stop().animate({ 
     top: (300 - (0.5 * scrollTop)) 
    }, 350); 
    $('#right').stop().animate({ 
     top: (300 - (0.2 * scrollTop)) 
    }, 350); 
});​ 

這就是從停止功能緩存scrollTop的值,而不是重新計算,並省略了(真正的,真實的)。

編輯:此外,擺脫#container css電話,只是使它position: fixed

+0

是的。在使用變量並將#container設置爲固定值之間,似乎閃爍的問題已解決。謝謝! http://jsfiddle.net/v3DVf/10/ – 2012-03-23 19:05:14

+0

實際上,根本沒有必要使用容器:http://jsfiddle.net/v3DVf/11/ – 2012-03-23 19:35:16

+0

更好,做得好 – 2012-03-23 19:36:02