$(window).width()vs $(document).width()之间的区别

jQuery中$(window).width() vs $(document).width()是什么? 窗口是否表示浏览器,文档是否表示html页面的主体? 我对么 ?

width()的文档 :

这个方法也能够find窗口和文档的宽度。

 $(window).width(); // returns width of browser viewport $(document).width(); // returns width of HTML document 

简单的jsFiddle演示

在演示中,我已经设置了html { width: 1000px; } html { width: 1000px; } ,比视口大。

HTML页面的主体宽度是第三个值。 $('body').width()也可以不同于其他两个(例如try body { margin: 100px; } )。

你是对的。 该window是浏览器的可视区域。 document是页面的实际主体。 所以你的document可以远远超出window

那么, window是第一件被加载到浏览器。 这个window对象拥有大部分的属性,比如lengthinnerWidthinnerHeightname ,如果它已经closures,它的父母,等等。

那么文档对象呢?

document对象是将被加载到浏览器中的html文档。 该document实际上被加载到window对象内,并具有可用的属性,如标题,URL,cookie等。这是什么意思? 这意味着如果你想要访问window的属性是window.property ,如果它是document它是window.document.property ,也可以简单的document.property

所以最后文件可能比窗口小。

FROM: http : //eligeske.com/jquery/what-is-the-difference-between-document-and-window-objects-2/

$(window).width(); 返回浏览器视口的宽度

$(document).width(); 返回HTML文档的宽度

$(document).width()有点不可靠,导致全屏浏览器的值较低。 $(window).width()更安全。

$(window).width()获取$(window).width()的整个宽度,包括滚动条等。

另一个重要的区别

$(window).width(); 在文档加载/准备好之前是可用的

$(document).width(); 仅在文档加载后才可用

所以,第二,你需要

 $(document).ready(function() { var w = $(document).width(); }); 

是 – 窗口的宽度是浏览器窗口的宽度,文档的宽度是网页的宽度。