HTML DOM 快速導覽 - 元素物件 element 的屬性 offsetWidth

element.offsetWidth 回傳元素 (element) 的寬,單位為像素 (pixel) ,包含邊框 (border) 與邊距 (padding) ,但不包含邊界 (margin) 。



舉例如下
function run() {
    var c = document.getElementById("child");
    var ch = document.getElementById("h");
    ch.innerHTML = c.offsetHeight;
    var cl = document.getElementById("l");
    cl.innerHTML = c.offsetLeft;
    var ct = document.getElementById("t");
    ct.innerHTML = c.offsetTop;
    var cw = document.getElementById("w");
    cw.innerHTML = c.offsetWidth;
    
    var cp = c.offsetParent;
    var ph = document.getElementById("ph");
    ph.innerHTML = cp.offsetHeight;
    var pl = document.getElementById("pl");
    pl.innerHTML = cp.offsetLeft;
    var pt = document.getElementById("pt");
    pt.innerHTML = cp.offsetTop;
    var pw = document.getElementById("pw");
    pw.innerHTML = cp.offsetWidth;
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:element012.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2011 年 8 月 */


此例取得 id 屬性 (attribute) 為 child 的元素的 offsetWidth
var cw = document.getElementById("w");
cw.innerHTML = c.offsetWidth;


然後在 id 屬性為 cw 的元素中顯示結果。


我們以下面的 HTML 文件載入
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM DEMO</title>
<script src="element012.js" type="text/javascript"></script>
<style>
div.demo {
    margin: 5px;
    padding: 5px;
    border: black solid 2px;
}
</style>
</head>
<body>
<input type="button" value="RUN" onclick="run();">
<div class="demo"><div class="demo">
<div class="demo" id="child">Choice. The problem is choice.</div>
<div class="demo">There is no spoon.</div>
<div class="demo">Because I choose to.</div>
</div></div>
<div>offsetHeight: <span id="h"></span></div>
<div>offsetLeft: <span id="l"></span></div>
<div>offsetTop: <span id="t"></span></div>
<div>offsetWidth: <span id="w"></span></div>
<div>parent-offsetHeight: <span id="ph"></span></div>
<div>parent-offsetLeft: <span id="pl"></span></div>
<div>parent-offsetTop: <span id="pt"></span></div>
<div>parent-offsetWidth: <span id="pw"></span></div>
</body>
</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:element012.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2011 年 8 月 -->


瀏覽器 (broswer) 開啟,按下 RUN 後的結果



中英文術語對照
元素element
像素pixel
邊框border
邊距margin
邊界padding
屬性attribute
瀏覽器broswer


您可以繼續參考
元素物件 element


相關目錄
HTML DOM 快速導覽
JavaScript 教材
首頁


參考資料
https://developer.mozilla.org/en/DOM/element.offsetWidth
http://msdn.microsoft.com/en-us/library/ms534304(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms530302(VS.85).aspx
http://www.w3.org/TR/cssom-view/#offset-attributes

沒有留言: