z921129H
2016-04-11 10:55
就是为什么这里是parseInt(oDiv.style.width)-1+'px'呢,之前学速度动画里面,都是直接oDiv.offsetLeft-1+'px'。
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
JS动画效果
113925 学习 · 1443 问题
相似问题