【问题标题】:jQuery window width sometimes return wrong valuejQuery 窗口宽度有时会返回错误的值
【发布时间】:2015-08-14 02:32:26
【问题描述】:

有时当我打电话时:

$(window).width();

返回的值是错误的(在除 IE 之外的所有浏览器上,在 IE 上它总是正确的)。我用这条线:

$('div.container p').text($(window).width());

更改p 元素的文本,以便在调整窗口大小时可以看到返回的值。以下是返回值错误时的示例:

在右上角,您可以看到 Chrome 上的实际尺寸。

我注意到当值错误时,它总是偏离 17px。

请注意,返回的值并不总是错误的,所以大多数时候窗口看起来应该是这样。

救命!

【问题讨论】:

    标签: jquery window width


    【解决方案1】:

    @Inacio Schweller 是正确的。

    要获得一致的跨浏览器结果,可以使用非jQuery版本:

    window.innerWidth

    尝试在浏览器的控制台中输入此内容,您会看到无论您使用哪种浏览器,它都会返回一致的结果。

    注意:非 jQuery 版本 window.outerWidth 在 IE 和 Chrome 中返回相同的结果,但在 Firefox 中返回的值稍小。

    【讨论】:

    • 感谢 Inacio Schweller 和 Trevor。使用普通的 javaScript window.innerWidth 返回我需要的值。
    【解决方案2】:

    这是因为浏览器视口的滚动条。 如果您最小化窗口足以显示滚动条,视口会说它比您的值小 17px。如果窗口已满,则不会出现 17px 的差异。

    【讨论】:

    • 我认为可能是这样。那么我应该如何处理这个问题以及为什么浏览器(IE 除外)甚至在我的网站上没有任何内容而只是普通容器时考虑滚动条?
    猜你喜欢
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    相关资源
    最近更新 更多