$(window).width()
与 $(document).width()
有哪些主要区别?
window 是否代表浏览器,document 代表 HTML 页面的 body 部分?我的理解正确吗?$(window).width()
与 $(document).width()
有哪些主要区别?
window 是否代表浏览器,document 代表 HTML 页面的 body 部分?我的理解正确吗?根据width()
的文档:
此方法还能够查找窗口和文档的宽度。
$(window).width(); // returns width of browser viewport $(document).width(); // returns width of HTML document
在这个演示中,我设置了
html { width: 1000px; }
,它比视口大。你的HTML页面主体的宽度是三分之一的值。
$('body').width()
也可能与另外两个值不同(例如尝试使用body { margin: 100px; }
)。
您说得对。 window
是浏览器可见区域,而document
是页面的实际主体。因此,您的document
可能会延伸到远远超出window
的范围。
window
是最先加载到浏览器中的对象。该window
对象具有大多数属性,如length
、innerWidth
、innerHeight
、name
、是否已关闭、其父级等等。
那么文档对象呢?
document
对象是您将要加载到浏览器中的html文档。实际上,document
会在window
对象内部加载,并且有一些可用的属性,如title、URL、cookie等。这意味着什么?这意味着如果您想访问window
的属性,它是window.property
,如果是document
,则是window.document.property
,也可以缩写为document.property
。
因此总结一下,文档可能比窗口小。
来自: http://eligeske.com/jquery/what-is-the-difference-between-document-and-window-objects-2/
另一个重要的区别是:
$(window).width();
可在文档加载/准备之前使用。
$(document).width();
只能在文档加载后才能使用。
因此,第二个需要等待文档加载完成之后才能使用。
$(document).ready(function() {
var w = $(document).width();
});
$(window).width();
返回浏览器视口的宽度。
$(document).width();
返回HTML文档的宽度。
$(document).width()
不太可靠,全屏浏览器下结果会偏小。使用 $(window).width() 更加安全。
$(window).width()
获取整个窗口的宽度,包括滚动条等内容。