- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 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/
我在使用 Google map API 显示邮政编码时遇到问题。但是,它给出了一个错误: https://maps.gstatic.com/maps-api-v3/api/js/19/6/main.j
在 element.offsetWidth 中,FF 和 Chrome 之间有 1px 的差异。 我一直在阅读以试图理解这个问题。试图reset the CSS , 试图将元素从屏幕边界附近移开(我记
我有一个 JS 函数可以获取页面上 div 的宽度: function getWidth() { var container = document.getElementsByClassName(
好吧,我正在尝试创建一个水平站点,但是当我尝试获取导航的 offsetWidth 时,它返回的值远高于真实宽度。可以找到有问题的设计 here .该页面的 CSS 是 here和 JS here .
我在跨不同浏览器使用 offsetWidth 时遇到了问题。这种结果差异导致了一些奇怪的布局。我创建了一个非常小的示例来显示我所看到的内容。 jsbin HTML Cell 1
1、概念 它们都是Element的属性,表示元素的宽度: Element.clientWidth 内容+内边距-滚动条-----不包括边框和外边距 =
Element.scrollWidth 只读属性是衡量元素内容的宽度,包括因为溢出而在屏幕上不可见的内容。SO 中的帖子对 scrollWidth、offsetWidth、clientWidth 有详
这段代码是我写的。 当我添加滚动条时,我得到 403 作为 clientWidth,这似乎是真的:403px 用于内部内容 + 17px 用于滚动条。然后我得到 403 作为 offsetWidth,
我正在尝试找到适合我的场景的文本宽度。这是我的代码(简单示例) var text = "Country and some following text"; var textObj = documen
我在使用 jquery 时遇到了一个奇怪的问题。我们正在尝试在我们的 Web 应用程序中使用相当旧的 jQuery 1.5.1。它仅支持 IE,并且始终以怪异模式呈现(无 doctype 元素)。 除
我有一个带有表格的 AngularJS 应用程序,我想获得这个场景: 首先:我想使用 table 引导类创建一个流动的表; 第二:在 table head 中的一些 javascript 更改(重建
我有一个链接的 css 文件用于默认属性,第二个链接文件用于显示窗口更改时它会更改的消息。在 JS 脚本的末尾,我将一个元素的 offsetWidth 放在全局值 NavW 中。所以 JS 似乎返回了
在我的应用程序中,我想检查是否有文本溢出(省略号)。为此,我检查 e.offsetWidth JS function manageReportDescription(
我尝试使用 nativeElement.offsetWidth 获取元素宽度,但它比实际宽度小 2.5px。我想知道我错过了什么? 我试图检查 DOM 并试图找到 2.5px 的位置,但我无法在任何地
不知何故,我在 Firefox 和 Chrome 中得到了不同的 offsetWidth 结果。 我有一个简单的按钮 Dropdown 其中 offsetWidth 正好是 89 像素。 Chrome
我正在尝试根据 div 中包含的图像的宽度调整其大小,但没有任何 JS 方法可以一致地工作来获取图像的宽度。 label here img { width: auto
void element.offsetWidth; 是一行奇怪的代码,它似乎什么也没做,但却是 CSS 动画工作所必需的。这条线有什么作用以及为什么需要它? 如果整行被注释掉,动画会发生一次但不会重复
我需要根据一些标签的宽度和高度来计算 offsetwidth... 我知道如何计算特定标签的 offsetwidth 高度 = 563 像素,宽度 = 763 像素,我使用 有一些内容,p 标签左边
我用 Bootstrap 3.3 创建了一个 carousel 它可以在我的本地机器上运行,但是当我将整个东西上传到正在编译 bootstrap js 文件的服务器上时将其他文件放在一个文件中,我收到
Angular 新手,我正在尝试使用 ScrollTrigger 进行水平滚动。 它有效,但是当我提供或构建时,出现错误: 类型“元素”上不存在属性“偏移宽度”。 这是 gsap 的代码: gsap.
我是一名优秀的程序员,十分优秀!