jquery - 如何知道css样式是否完全应用于动态添加的内容

标签 jquery html css

案例: 内容动态添加到某些 div(使用 jquery)。内容包含相当多的元素(比如 1000 个 div)。

然后我需要计算元素的正确尺寸(实际上我需要 px 中的顶部位置,所以我使用 jquery position() 函数)。首先,我在添加内容后立即开始计算。

问题是有时顶部位置计算不正确我相信(并且非常肯定)这是因为 css 样式尚未正确应用于该内容。

我试图解决这个问题,在添加内容后超时(使用 setTimeout)后开始调用。我使用的超时时间越长(我测试了 20 到 500 毫秒),浏览器应用样式的时间就越长,计算不正确的可能性就越小。

问题是这个带有超时的解决方案并不是 100% 可靠和安全的,我需要使用相当大的超时来确保进程的正确性,这可能会降低进程的整体性能。

所以我需要知道何时完全应用样式以及何时可以开始位置计算。您有什么建议,有什么可靠的方法吗?

最佳答案

使用 Firebug 或 Google Chrome 开发工具?右键单击问题区域并选择“检查元素”将显示 jQuery 或任何其他 Javascript 完成其工作后的代码。

为了查看 jQuery 执行所需操作多长时间(在您的 CPU 上),您可以让 Google Chrome 开发工具代码检查器保持打开状态,刷新页面并希望查看代码更改或不更改。我就是这样做的。

关于jquery - 如何知道css样式是否完全应用于动态添加的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14750718/

相关文章:

javascript - 参数不是 'Blob' 类型

html - Bootstrap CSS 行的高度变化导致以下所有内容的跳跃和可用性问题

javascript - jquery ajax() 跨域远程服务器在 IE8 中不工作

javascript - 通过jquery创建模态窗口

javascript - 任何人都有使用 css 和 html 创建它的简单方法?

html - 如何使用 VBA 从网页中获取产品标题?

html - 如何删除面板底部多余的空白区域

PHP session 用 PHPSESSID 覆盖任何 cookie 和 CSS,而不调用 session_start()

javascript - 剑道分离器 : How to change "collapsible: false" property of splitter to "collapsible: true" on click of button

jquery - 如何检查 jquery 中 div 的显示(无/ block )?