案例: 内容动态添加到某些 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/