elem.style.left是元素的最左边(包括元素的margin-left)到offsetParent左边padding(包括左边padding)的距离。
用公式简单的表示一下两者的关系:
elem.offsetLeft = elem.style.left + elem.style.marginLeft
在IE8下:
elem.offsetLeft = elem.style.left + elem.style.marginLeft + elem.offsetParent.borderLeftWidth
在IE7下:
elem.offsetLeft = elem.style.left + elem.style.marginLeft + elem.offsetParent.borderLeftWidth + elem.offsetParent.marginLeftWidth
在IE6下:
elem.offsetLeft = elem.style.left + elem.style.marginLeft + elem.offsetParent.paddingLeftWidth + elem.offsetParent.borderLeftWidth + elem.offsetParent.marginLeftWidth
记录一下,如何取得元素的”计算出的样式”。
function getCurrentStyle(elem,style) {
return window.getComputedStyle
? window.getComputedStyle(elem,null)[style]
: elem.currentStyle[style];
}