關於javascript中的寬和高

來源:互聯網
上載者:User

 javascript中的高和寬有很多種

寬:width,offsetWidth,clientWidth,scrollWidth,availWidth

高: height,offsetHeight,clientHeight,scrollHeight,availHeight

widht和height很奇怪,看如下代碼

<body>

<script type="text/javascript">

alert(document.body.width);

</script>

</body>

彈出對話方塊為undefined.如果是alert(document.body.style.width);則彈出對話方塊為空白字串.也就是說不單獨設width屬性,那在javascript中用width屬性無法得到值(height也一樣),如果在style中沒有指定width屬性,那用script得到style.width將為空白字串,

如果在style上設了值,不管是否指定單位px,得到的值將帶單位px,不能直接用於計算.

 

以下是長針對document.body對象而言,如果是其他對象,那又不同

offsetWidth是網頁可見地區寬(不包括捲軸和邊線);

clientWidth也是網頁的可見地區(但是包括捲軸和邊線);

scrollWidth是網頁本文全文寬(是針對本文而言,正常情況下和offsetWidth是同一個值,但是offsetHeigth和scrollHeight不是一樣的值,scrollHeight有可能會大於clientHeight和為offsetHeight,也有可能小於clientHeight和offsetHeight);

availWidth是針對window.screen對象而言,顯示為整個螢幕的可用寬度,一般和電腦的螢幕設定的分辨有關,正常情況下相等.

window.screen.availHeight是整個螢幕的可用高度,這個可用,當然指除了工具條,狀態列等高度.

window.screen.height和window.screen.width純粹和解析度相等.

 

如果不是document.body對象,是其他對象,如div.這幾個屬性會不一樣

scrollWidth 是對象的實際內容的寬,不包邊線寬度,會隨對象中內容的多少改變(內容多了可能會改變對象的實際寬度)。clientWidth 是對象可見的寬度,不包捲軸等邊線,會隨視窗的顯示大小改變。 offsetWidth 是對象的可見寬度,包捲軸等邊線,會隨視窗的顯示大小改變。

注意:如果在層上不設width和height,要用指令碼得到高和寬,則只能和scrollWidth和scrollHeight.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.