3

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

我在谷歌上找不到太多关于这个的信息,所以我想我会吸引大众。这只是一个普遍的问题,而不是一个具体的问题。

4

4 回答 4

6

Jquery的outerWidth

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

如果 includeMargin 被省略或为 false,则填充和边框都包含在计算中;如果为真,则还包括边距。

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

window.outerWidth

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

于 2012-07-17T20:23:39.053 回答
2

来自 jQuery 文档(http://api.jquery.com/outerWidth/):

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

所以,你应该使用$(window).width(),它返回:

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

window.outerWidth返回整个窗口宽度(带有边框和其他内容)

于 2012-07-17T20:25:29.587 回答
0

正如您在jQuery 文档中所读到的:

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

window.outerWidth获取浏览器窗口外部的宽度时,jQuery 的方法在-selecting jQuery 实例.width()上调用时确实返回浏览器视口的宽度。window为此,它调用了一组子函数和钩子(参见源代码)以实现跨浏览器兼容(但速度要慢得多)。

于 2012-07-17T20:24:01.547 回答
0

至于细节outerWidthjQuery 的实现允许您选择是否要在测量中包含边距。 Javascript只是获取数字。我不知道它是否包括保证金。

jQuery is just a bunch of fancy JavaScript. In fact, you can implement anything jQuery does yourself using only JavaScript (and I'd encourage you to do so)! I'd encourage you to read questions like this one.

于 2012-07-17T20:26:52.313 回答