2011-07-07 22 views
0

我響應窗口滾動事件這樣的動畫使用jQuery.animate屏幕上的元素:平滑的方法來改變jquery.animate中期動畫

$(window).scroll(function(){ 
    $("#myElement").stop().animate({top: -0.5 * $(window).scrollTop()}); 
}); 

由於滾動事件觸發了個遍當你滾動窗口時,我必須在元素上調用.stop()函數,以便立即開始下一個動畫。

這似乎工作正常,但可能會有點慢,當有很多的內容被動畫。有更好的方法來更新動畫中間動畫的目標值嗎?我可以做些什麼來改善此代碼的性能?

回答

0

你有沒有想過只是做一個更具體的.css改變?

$(window).scroll(function(){ 
    $("#myElement").css({top: -0.02 * $(window).scrollTop()}); 
}); 

我只是把一個任意數字,但它可能是值得嘗試和玩。如果你找出正確的修飾符,它應該會更順暢。

另外:如果你接受了更多的答案,這將是很好的。您只接受了31%的問題。只是一個想法。

+0

我其實正在使用.animate,這樣我就可以放鬆了。如果我做.css,那麼就沒有轉換。 – Rafe

+0

你的意思是說它滑動順暢嗎?你可以用CSS來做到這一點。我在我的網站上做。 – switz