5
A
回答
11
我不確定某些屬性是否在創建動畫時比其他屬性創造的開銷更小,但如果有人發佈關於該主題的一些好信息,我會非常感興趣。這就是說我知道一些可以幫助表演的東西。
設置position : absolute
從正常的頁面流中刪除元素,因此不需要整個頁面在動畫時重繪。 position : relative
將強制重繪整個頁面,因爲祖先和後代元素可能會受到影響。
此外,您還可以節流scroll
事件,而且還能達到30fps的:
var scroll_ok = true;
setInterval(function() {
scroll_ok = true;
}, 33);//33ms is 30fps, you can try changing this to something larger for better performance
$(window).bind('scroll', function() {
if (scroll_ok === true) {
scroll_ok = false;
//now run your code to animate with respect to scroll
}
});
更新:: 2014年8月26日
事情已經改變,因爲這原本寫的。幾個簡單的音符:
現代瀏覽器現在試圖GPU加速給定一組特定的屬性(
opacity
和transform
把我的頭頂部)元素的繪畫。使用這些屬性可以大大提高性能,而不是像top
/left
(在使用transform
時需要重繪頁面的實例)。will-change
是剛剛被瀏覽器拿起的新屬性。基本上可以設置可能會更改的屬性列表,以便瀏覽器可以提前優化屬性更改。有一個健壯的polyfill和良好的現代瀏覽器支持。這是一種更好的方式來平滑地動畫元素,而不會像瀏覽器那樣創建大量的「塊」。
相關問題
- 1. DataGrid滾動性能差
- 2. 視差滾動
- 3. jQuery - 滾動事件
- 4. jQuery滾動事件不能與部分
- 5. 視差滾動SpriteKit
- 6. 使用jquery進行視差滾動
- 7. 抖動視差滾動
- 8. jQuery滾動事件不斷觸發滾動功能
- 9. 表視圖滾動事件
- 10. 優化具有視差效果的滾動性能
- 11. jQuery滾動事件行爲
- 12. 視差滾動背景recyclerview
- 13. 針對滾動路徑/視差的jquery插件建議
- 14. jQuery的滾動事件 - 檢測滾動到視圖元件 - 在Chrome
- 15. 改善由mousemove事件觸發的視差效果的性能
- 16. jQuery Mobile:滾動視圖和滑動事件
- 17. 多層視差滾動視圖?
- 18. 在滾動視圖中提高性能
- 19. Android自定義視圖滾動性能
- 20. 視差滾動移動字/字母
- 21. 滾動視圖,按鈕事件交換
- 22. 多滾動事件定義和歧視性事件解除綁定
- 23. 滾動事件不工作的JQuery
- 24. jQuery的onclick事件鼠標滾動
- 25. 無限滾動打破jQuery事件
- 26. jQuery中有垂直滾動事件
- 27. iframe中的jQuery滾動事件
- 28. 使用jquery touchmove滾動事件
- 29. 如何從滾動視圖通過滾動事件的tableView
- 30. 滾動功能jquery
啊,謝謝!我一定會利用滾動限制。可以利用價值觀來看看這個項目最適合什麼。另一個技巧,儘管現在廣爲人知,但使用「inview」插件,因此嚴格限制了在任何給定點上動畫元素的數量。 – 2012-01-18 18:48:05
我創建了一個jQuery插件,可以在某些參數中設置動畫元素。 'scroll'事件處理程序檢查'viewport'是否在適當的位置以動畫元素,如果它是動畫的,否則不是。這與檢查當前滾動位置是否在爲元素設置的範圍內一樣簡單。 – Jasper 2012-01-18 19:03:30