许多 JavaScript 库都有用户界面小部件。
通常它们是在页面加载后创建的。用户会看到页面重新流动,并且页面的某些部分发生移动或改变外观。
如何减少页面加载时发生的回流量,尤其是在我使用多个小部件时?
这里有一些例子。这些都是非常基本的,所以回流并没有那么糟糕,但它确实存在,特别是在清除缓存和缓慢的互联网连接的情况下:
- YUI 3 :菜单导航元素加载后,主段落向下移动。
- BBC Glow : Logo 作为垂直列表加载,然后更改为轮播控件。
- YUI 2 :表格看起来很普通,然后突然改变外观。
- jQuery DataTables Plugin :在重新设计样式和分页之前,整个表格会以简单的方式显示。
最佳答案
当您使用大多数第 3 方脚本时,问题是它们会在添加类或重新格式化 HTML 的 JavaScript 代码中为您完成所有脏/忙的工作。
解决页面重绘的唯一方法是要么执行其他人建议的隐藏和显示,要么您必须拥有控件的 HTML,并启用 css 类并正确标记 HTML。
当我编写小部件代码时,我会构建该功能。我对开发人员说,如果他们不关心内容的闪烁,他们可以进行极简标记,或者他们可以编写后端代码以输出特定的 HTML标记小部件需要的内容。
我认为您列出的脚本没有能力标记代码,因此您可能会陷入内容闪现或隐藏的困境。 [隐藏甚至可能会搞砸渲染时依赖定位数据的脚本!]
关于javascript - 使用 JavaScript 小部件时如何减少页面回流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1280658/