js獲取top和left
阿新 • • 發佈:2018-11-06
js獲取top值有三種方法獲取,下面分別來講一下
1.直接獲取 obj.style.top ,但很多時候取出來是個空的,原因是這種方法只能獲取行間樣式設定的,用style寫在外面的和link進來的並不能獲取到,所以很多時候得到的是個空
2. 只讀的方法 可以獲取所有style樣式,存在相容性問題,在標準瀏覽器中可以通過window.getComputedStyle(物件,null).left方法來獲取元素的left和top的屬性值。而在IE瀏覽器上則是採用obj.currentStyle.left方法來獲取屬性值,下面是我寫的一個獲取函式,當然attr你用來獲取別的屬性值也是可以的
function getStyle(obj,attr){
if(getComputedStyle(obj)) { // 非IE
return getComputedStyle(obj)[attr];
}
else{ // IE
return obj.currentStyle[attr];
}
}
3.使用obj.offsetLeft來獲取物件的left屬性值,用obj.offsetTop來獲取物件的top屬性值
不管怎麼樣,你用這些把值弄到然後進行運算,然後在賦值給obj.style.top和obj.style.left就可以了
另外注意取值做運算的時候要把單位去掉
var top = parseInt(obj.offsetTop) + 10; // 去掉單位做運算
obj.style.top = top + 'px'; // 加上單位