Difference between $(window).width() vs $(document

2019-01-16 22:45发布

What is the major difference between $(window).width() vs $(document).width() in jQuery? Whether window denotes the browser and document represents the body of html page? Am I correct ?

6条回答
Deceive 欺骗
2楼-- · 2019-01-16 23:28

$(window).width(); returns the width of browser viewport

$(document).width(); returns width of HTML document

$(document).width() is a bit unreliable, resulting in a lower value for a full-screened browser . $(window).width() is safer.

$(window).width() gets the entire width of the window, including things like the scroll bar .

查看更多
【Aperson】
3楼-- · 2019-01-16 23:36

From the documentation of width():

This method is also able to find the width of the window and document.

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

Simple jsFiddle Demo

In the demo, I have set html { width: 1000px; }, which is bigger than the viewport.

The width of the body of your HTML page is a third value. $('body').width() can also differ from the other two (try body { margin: 100px; } for example).

查看更多
家丑人穷心不美
4楼-- · 2019-01-16 23:41

You are correct. the window is the viewable area of the browser. The document is the actually body of the page. So your document could extend far beyond the window

查看更多
混吃等死
5楼-- · 2019-01-16 23:43

Another important difference.

$(window).width(); is available before the document loads / is ready

$(document).width(); is only available after the document had loaded

So for the second, you need

$(document).ready(function() {
   var w = $(document).width();
});
查看更多
别忘想泡老子
6楼-- · 2019-01-16 23:44

Yes - width of window is width of browser window, and width of document is width of webpage.

查看更多
兄弟一词,经得起流年.
7楼-- · 2019-01-16 23:52

Well, the window is the first thing that gets loaded into the browser. This window object has the majority of the properties like length, innerWidth, innerHeight, name, if it has been closed, its parents, and more.

What about the document object then?

The document object is your html document that will be loaded into the browser. The document actually gets loaded inside the window object and has properties available to it like title, URL, cookie, etc. What does this really mean? That means if you want to access a property for the window it is window.property, if it is document it is window.document.property which is also available in short as document.property.

So in conclusion the document could be smaller than the window.

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

查看更多
登录 后发表回答