内部样式的style.left不是不能直接获取到吗?

来源:2-1 JS速度动画

dong起来

2016-05-30 17:55

这个例子中老师写的obj.style.left=……这个地方的left是内部样式啊,obj.style不是只有行间样式才能用的吗?

写回答 关注

2回答

  • 慕粉3498277
    2016-07-13 21:40:12

    虽然有点久了,不过最近正好刚弄懂了这个问题,希望能对你有帮助!

    这里要提到offsetLeft与style.left的一点区别。

    style.left是读写的,offsetLeft是只读的,所以要改变div的位置,只能修改style.left。

    (1)确实是只有设置为行间样式的style属性才能被获取(读),但这里我们用到的是style的‘写’,所以不矛盾。

    (2)你可以试一下,把上面的if(Obj.offsetLeft==0)改为if(Obj.style.left==0),会发现没有任何效果,就是因为这里要用到style的‘读’,而由于(1)的原因,是实现不了的。

    这是我自己的理解,欢迎指正!



  • qq_往事随风_7
    2016-05-30 18:38:25

    不是吧,只要是在style中定义的就都可以用吧

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题