四種瀏覽器對 document.body 的 clientHeight、offsetHeight 和 scrollHeight
的解釋,。
這四種瀏覽器分別為IE(Internet Explorer),、NS(Netscape),、Opera、FF(FireFox),。
clientHeight
大家對 clientHeight
都沒有什么異議,,都認(rèn)為是內(nèi)容可視區(qū)域的高度(在后臺調(diào)整iframe的大小時,通常不用這個,,而是用scrollHeight ,,即整個網(wǎng)頁內(nèi)容的高度),也就是說頁面瀏覽器中可以看到內(nèi)容的這個區(qū)域的高度,,一般是最后一個工具條以下到狀態(tài)欄以上的這個區(qū)域,與頁面內(nèi)容無關(guān),。
offsetHeight
IE,、Opera 認(rèn)為 offsetHeight = clientHeight + 滾動條 + 邊框。
NS,、FF 認(rèn)為 offsetHeight 是網(wǎng)頁內(nèi)容實際高度,可以小于 clientHeight,。
scrollHeight(自適應(yīng)時候經(jīng)常用到)
IE,、Opera 認(rèn)為 scrollHeight 是網(wǎng)頁內(nèi)容實際高度,可以小于 clientHeight,。
NS,、FF 認(rèn)為 scrollHeight 是網(wǎng)頁內(nèi)容高度,不過最小值是 clientHeight,。
簡單地說
clientHeight 就是透過瀏覽器看內(nèi)容的這個區(qū)域高度,。
NS、FF 認(rèn)為 offsetHeight 和 scrollHeight 都是網(wǎng)頁內(nèi)容高度,,只不過當(dāng)網(wǎng)頁內(nèi)容高度小于等于 clientHeight
時,,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight,。
IE,、Opera 認(rèn)為 offsetHeight 是可視區(qū)域 clientHeight 滾動條加邊框。scrollHeight
則是網(wǎng)頁內(nèi)容實際高度,。
同理
clientWidth,、offsetWidth 和 scrollWidth 的解釋與上面相同,只是把高度換成寬度即可,。 iframe常用的高度調(diào)整的方法: 一:自己曾經(jīng)寫的iframe自適應(yīng)方法: function setHeightByAjax(){ var h=top.mainIframe.document.getElementById("mainInfos");//某一個div的高度 var height=h.offsetHeight; top.setIframeHeight(height+40); } 二:常用的方法: function seth(){ var thisheight =document.documentElement.scrollHeight;//為了兼容ie var main = $(window.parent.document).find("#mainIframe"); main.height(thisheight-30);} 三:一般在父頁面寫下這個函數(shù),,只需在子頁面調(diào)用即可: function setIframeHeight(h){ var mw=$("#mainIframe").width(); $("#mainIframe").height(h); $("#mainIframe").width(mw); } |
|