window.outerWidth与$(window).outerWidth()的区别

3

我很好奇window.outerWidth$(window).outerWidth()之间有什么区别,如果有的话。

我在谷歌上没有找到太多关于这个问题的信息,所以我想向大众求助。这只是一个普遍性的问题,而不是一个具体的问题。


7
jQuery 是 JavaScript 的一个库。 - AlanFoster
JS是核心。jQuery是用JS编写的库,旨在简化操作。 - Novak
1
我的意思是jQuery和传统的JavaScript之间的区别,具体地说,在这两个选择器之间。 - Chad
4
Luke,请使用以下源代码:https://github.com/jquery/jquery/blob/master/src/dimensions.js - Matt Ball
2
此方法不适用于 window 和 document 对象;对于这些对象,请使用 .width() 方法。 - Ram
@AlanFoster jQuery不是JavaScript。jQuery是用JavaScript编写的。 - mwcz
4个回答

6

Jquery的outerWidth

返回元素的宽度,包括左右填充、边框和可选的外边距,以像素为单位。

如果省略或设置为false,则计算中将包括填充和边框;如果为true,则还将包括外边距。

此方法不适用于window和document对象;对于它们,请使用.width()。

window.outerWidth

window.outerWidth获取浏览器窗口外部的宽度。 它代表整个浏览器窗口的宽度,包括侧栏(如果展开)、窗口Chrome和窗口调整大小的边框/手柄。


2

从jQuery文档(http://api.jquery.com/outerWidth/)中得知:

此方法不适用于window和document对象;对于这些对象,请使用.width()。

因此,您应该使用$(window).width(),它返回:

"浏览器视口的宽度" (没有窗口边框和其他东西)

window.outerWidth返回整个窗口的宽度(包括边框和其他东西)。


0

正如您可以在jQuery文档中阅读到的:

此方法不适用于窗口和文档对象;对于这些对象,请改用.width()

虽然window.outerWidth获取浏览器窗口外部的宽度,但当在选择window的jQuery实例上调用jQuery的.width()方法时,它确实返回浏览器视口的宽度。为了实现跨浏览器兼容性(但速度较慢),它调用了一堆子函数和钩子(请参见源代码)。


0
关于 outerWidth 的具体细节: jQuery 的实现 允许你选择是否在测量中包含 margin 。JavaScript 只获取数字。我无法确定它是否包括 margin。
jQuery 只是一堆花哨的 JavaScript。事实上,你可以仅使用 JavaScript 自己实现 jQuery 所做的任何事情(我鼓励你这样做)!我鼓励你阅读像 这个 这样的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接