当我看到这段代码时,我想知道一点:
// Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
...
// Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
$(document).height();
和$(window).height();
之间的区别是什么?
答案 0 :(得分:11)
Window是顶级客户端对象,包含文档。这个jsFiddle显示$(window).height()
和$(document).height()
都返回相同的值:http://jsfiddle.net/jackrugile/5xSuv/
窗口是视口的大小,如果我没有弄错的话,它不包含任何chrome或浏览器界面。我相信两者的值将始终相同,除非您在窗口中引用类似iframe的内容。
答案 1 :(得分:4)
$(document).height
是视口的内部区域,主要是从工具栏/网址栏的底部到状态栏/底部滚动条/窗口底部。 $(window).height
获取窗口的整个高度,包括地址栏和滚动条等。
答案 2 :(得分:3)
@jackrugile的jsfiddle代码返回文档和窗口的相同值,因为jsfiddle代码在iframe中运行。
如果没有运行Iframes,那就更清楚了 -
希望它有所帮助并使事情更加清晰。
答案 3 :(得分:1)
屏幕 - 您的屏幕:尺寸值会随显示器尺寸而变化。
screen.availWidth //There is no screen.height
窗口或文档 - 浏览器的窗口(浏览器视口,不包括工具栏和滚动条)。如果页面可滚动,则忽略不可见的可滚动部分。使用IE9及以上版本的“窗口”,简单。
window.innerHeight //IE9, Chrome, Safari, Firefox
document.documentElement(or body).clientHeight //IE 8,7,6,5
注意:窗口和文档不一样。文档对象(来自DOM)是Window对象的属性(来自BOM)。但是给出相同的尺寸。 从W3Schools,我想认为'Window'是新浏览器版本(IE9,Chrome,Firefox等)的符号,'document'适用于IE 8,7,6,5。
http://www.w3schools.com/js/js_window.asp,并在不同大小的显示器上使用简单的aspx页面测试了上述内容。