$(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
对象拥有大部分的属性,比如length
,innerWidth
,innerHeight
,name
,如果它已经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(); });
是 – 窗口的宽度是浏览器窗口的宽度,文档的宽度是网页的宽度。