網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘篸ocument.body.clientWidth
網(wǎng)頁(yè)可見(jiàn)區(qū)域高:document.body.clientHeight
網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘篸ocument.body.offsetWidth (包括邊線的寬)
網(wǎng)頁(yè)可見(jiàn)區(qū)域高:document.body.offsetHeight (包括邊線的寬)
網(wǎng)頁(yè)正文全文寬:document.body.scrollWidth
網(wǎng)頁(yè)正文全文高:document.body.scrollHeight
網(wǎng)頁(yè)被卷去的高:document.body.scrollTop
網(wǎng)頁(yè)被卷去的左:document.body.scrollLeft
網(wǎng)頁(yè)正文部分上:window.screenTop
網(wǎng)頁(yè)正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的寬:window.screen.width
屏幕可用工作區(qū)高度:window.screen.availHeight
屏幕可用工作區(qū)寬度:window.screen.availWidth
HTML精確定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 獲取對(duì)象的滾動(dòng)高度。
scrollLeft:設(shè)置或獲取位于對(duì)象左邊界和窗口中目前可見(jiàn)內(nèi)容的最左端之間的距離
scrollTop:設(shè)置或獲取位于對(duì)象最頂端和窗口中可見(jiàn)內(nèi)容的最頂端之間的距離
scrollWidth:獲取對(duì)象的滾動(dòng)寬度
offsetHeight:獲取對(duì)象相對(duì)于版面或由父坐標(biāo) offsetParent 屬性指定的父坐標(biāo)的高度
offsetLeft:獲取對(duì)象相對(duì)于版面或由 offsetParent 屬性指定的父坐標(biāo)的計(jì)算左側(cè)位置
offsetTop:獲取對(duì)象相對(duì)于版面或由 offsetTop 屬性指定的父坐標(biāo)的計(jì)算頂端位置
event.clientX 相對(duì)文檔的水平座標(biāo)
event.clientY 相對(duì)文檔的垂直座標(biāo)
event.offsetX 相對(duì)容器的水平坐標(biāo)
event.offsetY 相對(duì)容器的垂直坐標(biāo)
document.documentElement.scrollTop 垂直方向滾動(dòng)的值
event.clientX+document.documentElement.scrollTop 相對(duì)文檔的水平座標(biāo)+垂直方向滾動(dòng)的量
IE,F(xiàn)ireFox 差異如下:
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均無(wú)關(guān))
-------------------
技術(shù)要點(diǎn)
本節(jié)代碼主要使用了Document對(duì)象關(guān)于窗口的一些屬性,這些屬性的主要功能和用法如下。
要得到窗口的尺寸,對(duì)于不同的瀏覽器,需要使用不同的屬性和方法:若要檢測(cè)窗口的真實(shí)尺寸,在Netscape下需要使用Window的屬性;在 IE下需要深入Document內(nèi)部對(duì)body進(jìn)行檢測(cè);在DOM環(huán)境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。
Window對(duì)象的innerWidth屬性包含當(dāng)前窗口的內(nèi)部寬度。Window對(duì)象的innerHeight屬性包含當(dāng)前窗口的內(nèi)部高度。
Document對(duì)象的body屬性對(duì)應(yīng)HTML文檔的標(biāo)簽。Document對(duì)象的documentElement屬性則表示HTML文檔的根節(jié)點(diǎn)。
document.body.clientHeight表示HTML文檔所在窗口的當(dāng)前高度。document.body. clientWidth表示HTML文檔所在窗口的當(dāng)前寬度。
關(guān)于獲取各種瀏覽器可見(jiàn)窗口大小的一點(diǎn)點(diǎn)研究。
在我本地測(cè)試當(dāng)中:在IE、FireFox、Opera下都可以使用
document.body.clientWidth
document.body.clientHeight即可獲得,很簡(jiǎn)單,很方便。
而在公司項(xiàng)目當(dāng)中:Opera仍然使用
document.body.clientWidth
document.body.clientHeight
可是IE和FireFox則使用
document.documentElement.clientWidth
document.documentElement.clientHeight
原來(lái)是W3C的標(biāo)準(zhǔn)在作怪啊">
如果在頁(yè)面中添加這行標(biāo)記的話
在IE中:document.body.clientWidth ==> BODY對(duì)象寬度
document.body.clientHeight ==> BODY對(duì)象高度
document.documentElement.clientWidth ==> 可見(jiàn)區(qū)域?qū)挾?/P>
document.documentElement.clientHeight ==> 可見(jiàn)區(qū)域高度
在FireFox中:document.body.clientWidth ==> BODY對(duì)象寬度
document.body.clientHeight ==> BODY對(duì)象高度
document.documentElement.clientWidth ==> 可見(jiàn)區(qū)域?qū)挾?/P>
document.documentElement.clientHeight ==> 可見(jiàn)區(qū)域高度?
在Opera中: document.body.clientWidth ==> 可見(jiàn)區(qū)域?qū)挾?/P>
document.body.clientHeight ==> 可見(jiàn)區(qū)域高度
document.documentElement.clientWidth ==> 頁(yè)面對(duì)象寬度(即BODY對(duì)象寬度加上Margin寬)document.documentElement.clientHeight ==> 頁(yè)面對(duì)象高度(即BODY對(duì)象高度加上Margin高)
而如果沒(méi)有定義W3C的標(biāo)準(zhǔn),
則IE為:document.documentElement.clientWidth ==> 0
document.documentElement.clientHeight ==> 0
FireFox為:document.documentElement.clientWidth ==> 頁(yè)面對(duì)象寬度(即BODY對(duì)象寬度加上Margin寬)
document.documentElement.clientHeight ==> 頁(yè)面對(duì)象高度(即BODY對(duì)象高度加上Margin高)
Opera為:document.documentElement.clientWidth ==> 頁(yè)面對(duì)象寬度(即BODY對(duì)象寬度加上Margin寬)
document.documentElement.clientHeight ==> 頁(yè)面對(duì)象高度(即BODY對(duì)象高度加上Margin高)
真是一件麻煩事情,其實(shí)就前端設(shè)計(jì)開(kāi)發(fā)來(lái)看,寧可少一些對(duì)象和方法,不使用最新的標(biāo)準(zhǔn)要方便許多啊。但是跟不上潮流就永遠(yuǎn)做不了一個(gè)高級(jí)設(shè)計(jì)師,所以這些知識(shí)我們還是必須要理解和熟練掌握的。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄