求大神进来看看

来源:4-2 获取样式

z921129H

2016-04-11 10:55

就是为什么这里是parseInt(oDiv.style.width)-1+'px'呢,之前学速度动画里面,都是直接oDiv.offsetLeft-1+'px'。

写回答 关注

1回答

  • 風雨纏溪
    2016-04-11 15:10: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

    風雨纏溪 回复z92112...

    可能是对获取的数值进行解析的吧,我也不是非常懂,但是我尝试过删掉就没办法获取数值了

    2016-04-13 11:27:41

    共 3 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题