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'; // 加上单位