为什么我用margin-left来做速度动画,出不来效果

来源:7-1 JS动画案例

汾汾学前端

2016-03-20 13:10

   var timer=null;

window.onload=function  () {

var obigbox=document.getElementById('bigbox');

var osmallbox=document.getElementById('smallbox');

osmallbox.onmouseover=function(){

startMove();

}

}

function startMove () {

var obigbox=document.getElementById('bigbox');

        clearInterval(timer);

   timer=setInterval(function () {

    console.log("hello");

    if (obigbox.offsetLeft==0) {

     clearInterval(timer);

         }

        else{

    obigbox.style.cssText='margin-left:'+obigbox.offsetLeft+10+'px;'

   

    }

    console.log(obigbox.offsetLeft+' ');

   },30)

    

    


}



写回答 关注

1回答

  • ROAR_0001
    2016-03-23 19:10:23

     1.obigbox.style.cssText='margin-left:'+obigbox.offsetLeft+10+'px;'使用这个方法控制css会将此元素原来的所有css样式全部覆盖掉(如果是将css写在行间的话可能运动了你看不出来)。

    2.运动的时候太快你看不出来(因为'margin-left:'+obigbox.offsetLeft+10+'px;'此处的obigbox.offsetLeft+10会拼接成一个字符串然后就不会达到你想要的效果了如8+10='810'而不是18).

    3.我猜的

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题