javascript - 使用 JavaScript 小部件时如何减少页面回流?

标签 javascript jquery user-interface yui bbc-glow

许多 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/

相关文章:

javascript - 如何在 JSP 编辑器中激活 javascript 的语法着色 - Eclipse

javascript - 如何设置在express.js中使用response.send()发送的数据的样式

javascript - 按钮单击音频启动和停止JS

qt - C++ Qt与Eclipse RCP在跨平台GUI开发中的优缺点是什么?

安卓用户界面元素

javascript - typescript 同步方法调用

javascript - setInterval 与其他 jQuery 事件 - 递归过多

javascript - 处理选项卡按下事件以在可编辑的 html 表中添加动态自定义行

c# - 如何从.NET用户界面将MySQL连接信息发送到数据访问层

javascript - 我可以使用哪些 javascript 或 css 库来实现这种下拉效果?