gdoron is su..
62
如果你可以使用jQuery:
$('#divId').outerHeight(true) // gives with margins.
对于vanilla javascript,你需要写更多内容(比如总是......):
function Dimension(elmID) {
var elmHeight, elmMargin, elm = document.getElementById(elmID);
if(document.all) {// IE
elmHeight = elm.currentStyle.height;
elmMargin = parseInt(elm.currentStyle.marginTop, 10) + parseInt(elm.currentStyle.marginBottom, 10) + "px";
} else {// Mozilla
elmHeight = document.defaultView.getComputedStyle(elm, '').getPropertyValue('height');
elmMargin = parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-top')) + parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-bottom')) + "px";
}
return (elmHeight+elmMargin);
}
每次使用getElementById遍历整个DOM都是错误的代码,浪费了cpu时间,还有更多的代码.编辑你的答案,将榆树缓存在一个变量中. (3认同)