求大神进来看看
就是为什么这里是parseInt(oDiv.style.width)-1+'px'呢,之前学速度动画里面,都是直接oDiv.offsetLeft-1+'px'。
就是为什么这里是parseInt(oDiv.style.width)-1+'px'呢,之前学速度动画里面,都是直接oDiv.offsetLeft-1+'px'。
2016-04-11
parseInt是获取整数,而后面的oDiv.style.width是获取的在body下面标签里的格式,之前用oDiv.offsetLeft是直接获取style里的值,但是在style里如果给oDiv加上了边框,那么offsetLeft就不能准确获取left的值了,而是获取left+边框的值,这里的oDiv.style.width不会有这个问题,但是还是很麻烦,因此后来又封装了一个函数,也就是getStyle()函数
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,false)[attr];
}
}
然后就可以直接调用parseInt(getStyle(oDiv,"width"))来替换原来的oDiv.offsetWidth
举报