在用js做動態效果時,通常需要獲取元素絕對定位中的 left 和 top 屬性值。比如做一個碰撞廣告,就要不停的獲取元素的 top 和 left 屬性值。
需要注意的事:取值的元素必須要設置position:absolute絕對定位屬性,才能取的到left值。
第一種方法:比較簡單,就是直接通過 obj.style.left 和 obj.style.top,但是有局限性,這種獲取的方法只能獲取到行內樣式的left和top的屬性值,不能獲 取到style標簽和link 外部引用的left和top屬性值。
第二種方法: 只讀,可以獲取所有style樣式,存在兼容性問題,在標准瀏覽器中可以通過window.getComputedStyle(對象,null).left方法來獲取元素的 left和top的屬性值。而在IE瀏覽器上則是采用obj.currentStyle.left方法來獲取屬性值。
第三種方法:使用obj.offsetLeft來獲取對象的left屬性值,用obj.offsetTop來獲取對象的top屬性值。
obj.offsetLeft是相對於 offsetParent定位的