js获取top和left

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

猜你喜欢

转载自blog.csdn.net/xiangZHANG110/article/details/81128336
今日推荐