網頁可見區域寬:document.body.clientWidth
網頁可見區域高:document.body.clientHeight
網頁可見區域寬:document.body.offsetWidth (包括邊線的寬)
網頁可見區域高:document.body.offsetHeight (包括邊線的寬)
網頁正文全文寬:document.body.scrollWidth
網頁正文全文高:document.body.scrollHeight
網頁被卷去的高:document.body.scrollTop
網頁被卷去的左:document.body.scrollLeft
網頁正文部分上:window.screenTop
網頁正文部分左:window.screenLeft
螢幕分辨率的高:window.screen.height
螢幕分辨率的寬:window.screen.width
螢幕可用工作區高度:window.screen.availHeight
螢幕可用工作區寬度:window.screen.availWidth
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 擷取對象的滾動高度。
scrollLeft:設定或擷取位于對象左邊界和視窗中目前可見内容的最左端之間的距離
scrollTop:設定或擷取位于對象最頂端和視窗中可見内容的最頂端之間的距離
scrollWidth:擷取對象的滾動寬度
offsetHeight:擷取對象相對于版面或由父坐标 offsetParent 屬性指定的父坐标的高度
offsetLeft:擷取對象相對于版面或由 offsetParent 屬性指定的父坐标的計算左側位置
offsetTop:擷取對象相對于版面或由 offsetTop 屬性指定的父坐标的計算頂端位置
event.clientX 相對文檔的水準座标
event.clientY 相對文檔的垂直座标
event.offsetX 相對容器的水準坐标
event.offsetY 相對容器的垂直坐标
document.documentElement.scrollTop 垂直方向滾動的值
event.clientX+document.documentElement.scrollTop 相對文檔的水準座标+垂直方向滾動的量
IE,FireFox 差異如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin屬性,與clientWidth、offsetWidth、clientHeight、offsetHeight均無關)
網頁可見區域寬: document.body.clientWidth
網頁可見區域高: document.body.clientHeight
網頁可見區域寬: document.body.offsetWidth (包括邊線的寬)
網頁可見區域高: document.body.offsetHeight (包括邊線的高)
網頁正文全文寬: document.body.scrollWidth
網頁正文全文高: document.body.scrollHeight
網頁被卷去的高: document.body.scrollTop
網頁被卷去的左: document.body.scrollLeft
網頁正文部分上: window.screenTop
網頁正文部分左: window.screenLeft
螢幕分辨率的高: window.screen.height
螢幕分辨率的寬: window.screen.width
螢幕可用工作區高度: window.screen.availHeight
螢幕可用工作區寬度: window.screen.availWidth
-------------------
技術要點
本節代碼主要使用了Document對象關于視窗的一些屬性,這些屬性的主要功能和用法如下。
要得到視窗的尺寸,對于不同的浏覽器,需要使用不同的屬性和方法:若要檢測視窗的真實尺寸,在Netscape下需要使用Window的屬性;在 IE下需要深入Document内部對body進行檢測;在DOM環境下,若要得到視窗的尺寸,需要注意根元素的尺寸,而不是元素。
Window對象的innerWidth屬性包含目前視窗的内部寬度。Window對象的innerHeight屬性包含目前視窗的内部高度。
Document對象的body屬性對應HTML文檔的标簽。Document對象的documentElement屬性則表示HTML文檔的根節點。
document.body.clientHeight表示HTML文檔所在視窗的目前高度。document.body. clientWidth表示HTML文檔所在視窗的目前寬度。
關于擷取各種浏覽器可見視窗大小的一點點研究。
在我本地測試當中:在IE、FireFox、Opera下都可以使用
document.body.clientWidth
document.body.clientHeight即可獲得,很簡單,很友善。
而在公司項目當中:Opera仍然使用
document.body.clientWidth
document.body.clientHeight
可是IE和FireFox則使用
document.documentElement.clientWidth
document.documentElement.clientHeight
原來是W3C的标準在作怪啊http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果在頁面中添加這行标記的話
在IE中:document.body.clientWidth ==> BODY對象寬度
document.body.clientHeight ==> BODY對象高度
document.documentElement.clientWidth ==> 可見區域寬度
document.documentElement.clientHeight ==> 可見區域高度
在FireFox中:document.body.clientWidth ==> BODY對象寬度
document.body.clientHeight ==> BODY對象高度
document.documentElement.clientWidth ==> 可見區域寬度
document.documentElement.clientHeight ==> 可見區域高度?
在Opera中: document.body.clientWidth ==> 可見區域寬度
document.body.clientHeight ==> 可見區域高度
document.documentElement.clientWidth ==> 頁面對象寬度(即BODY對象寬度加上Margin寬)document.documentElement.clientHeight ==> 頁面對象高度(即BODY對象高度加上Margin高)
而如果沒有定義W3C的标準,
則IE為:document.documentElement.clientWidth ==> 0
document.documentElement.clientHeight ==> 0
FireFox為:document.documentElement.clientWidth ==> 頁面對象寬度(即BODY對象寬度加上Margin寬)
document.documentElement.clientHeight ==> 頁面對象高度(即BODY對象高度加上Margin高)
Opera為:document.documentElement.clientWidth ==> 頁面對象寬度(即BODY對象寬度加上Margin寬)
document.documentElement.clientHeight ==> 頁面對象高度(即BODY對象高度加上Margin高)
真是一件麻煩事情,其實就開發來看,甯可少一些對象和方法,不使用最新的标準要友善許多啊。