gpt4 book ai didi

jQuery div.offsetWidth 性能不佳

转载 作者:行者123 更新时间:2023-12-01 05:05:37 25 4
gpt4 key购买 nike

我在使用 jquery 时遇到了一个奇怪的问题。我们正在尝试在我们的 Web 应用程序中使用相当旧的 jQuery 1.5.1。它仅支持 IE,并且始终以怪异模式呈现(无 doctype 元素)。

除了一个问题之外,jQuery 工作正常。我注意到一个功能运行缓慢。使用未压缩版本我发现问题出在 jQuery 初始化函数中。以下代码执行约2秒

        div.style.width = div.style.paddingLeft = "1px";
body.appendChild( div );
jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;

if ( "zoom" in div.style ) {
// Check if natively block-level elements act like inline-block
// elements when setting their display to 'inline' and giving
// them layout
// (IE < 8 does this)
div.style.display = "inline";
div.style.zoom = 1;
**jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2;**

粗线是问题所在。

由于某种原因,div.offsetLength 在设置显示和缩放属性后需要大约 2 秒才能执行。第一次调用此属性(第 3 行)工作速度很快。

我想知道什么会导致这个问题以及如何提高 jQuery 初始化的性能

最佳答案

触发怪异模式是一件可怕、可怕、可怕的事情。
在怪异模式下,jQuery 被迫使用替代方法与 DOM 交互,这几乎肯定是 IE 中速度问题的原因。

http://lostechies.com/johnteague/2009/09/15/jquery-does-not-like-quirksmode/
http://blog.yourinnovative.com/the-development-lab/jquery-quirks-mode-in-ie6/

关于jQuery div.offsetWidth 性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com