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. 视差滚动问题(jQuery)
- 2. jQuery视差滚动卡住
- 3. DataGrid滚动性能差
- 4. 视差滚动
- 5. 桌面视图内滚动视图性能差ios
- 6. jQuery滚动事件
- 7. jQuery - 滚动事件
- 8. jQuery滚动事件
- 9. jQuery滚动事件不能与部分
- 10. 视差滚动SpriteKit
- 11. 视差滚动scrollTop
- 12. 使用jquery进行视差滚动
- 13. 视差滚动功能不起作用
- 14. UI网格纵向滚动性能差
- 15. 抖动视差滚动
- 16. 缓动的视差滚动
- 17. jQuery滚动事件不断触发滚动功能
- 18. 表视图滚动事件
- 19. 优化具有视差效果的滚动性能
- 20. 没有滚动条的视差滚动
- 21. jQuery滚动事件行为
- 22. 水平视差滚动
- 23. 视差滚动问题
- 24. 水平视差滚动
- 25. 视差滚动背景recyclerview
- 26. 视差滚动平滑
- 27. 视差滚动的Cocos2D
- 28. 视差滚动文本Superscrollorama
- 29. 滚动垂直视差
- 30. 针对滚动路径/视差的jquery插件建议
啊,谢谢!我一定会利用滚动限制。可以利用价值观来看看这个项目最适合什么。另一个技巧,尽管现在广为人知,但使用“inview”插件,因此严格限制了在任何给定点上动画元素的数量。 – 2012-01-18 18:48:05
我创建了一个jQuery插件,可以在某些参数中设置动画元素。 'scroll'事件处理程序检查'viewport'是否在适当的位置以动画元素,如果它是动画的,否则不是。这与检查当前滚动位置是否在为元素设置的范围内一样简单。 – Jasper 2012-01-18 19:03:30