2013-01-25 123 views
2

如果我有大量的圖片,有很多的CSS效果,適用於他們CSS動畫的網頁,我會從一個​​循環使用window.scrollTo獲得的性能增益VS使用jQuery的$("html").animate({ scrollTop: "x" })編程將頁面滾動到某個點「x」?jQuery的動畫scrollTop的VS requestAnimationFrame - 性能

鉈; DR - RAF + window.scrollto() VS .animate({scrollTop: "x"})性能

謝謝!

+0

你試過了嗎?你看見什麼了? – epascarello

+0

我還沒有試過。我對rAF非常陌生,並且想知道如果性能提高,如果有的話,是否值得我的時間。 –

+0

我也很好奇!我正在構建一個視差網站,滾動動畫有時會非常波動。你試過了嗎? – user1574041

回答

1

window.scrollTo()更快,因爲它是原生JavaScript。任何對jQuery的調用都比較慢,因爲$().animate()每個(可能)比單個調用window.scrollTo()需要更多的時間。沒有時間使用.animate({scrollTop ...也是浪費,因爲您可以使用$("html").scrollTop()。無論如何,window.scrollTo()應該比這更快,並且具有跨瀏覽器可互換的優點。我會說,如果你不打算動畫滾動。

免責聲明:你可能不會看到太多的性能差異。

+1

我認爲.animate()默認爲400ms,沒有指定時間。我相信使用原生js會創造一個小的性能提升。我更想知道如果在.animate()上使用rAF將有助於避免這種情況發生,詳見http://www.html5rocks.com/en/tutorials/speed/rendering –