猿问

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


   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)

    

    


}


汾汾学前端
浏览 1584回答 2
2回答

ruibin

'margin-left:'+obigbox.offsetLeft+10+'px;'这里出错了,代码是从左到右执行的,那么一个字符串加一个数字就是字符串了,后面你再让他加一个数字,而你的本意却是想要中间的数字作加法运算然后拼接。所以加一个括号就ok了。既是:'margin-left:'+(obigbox.offsetLeft+10)+'px;'现在去试试吧

慕郎_莲华

cssText不是这么用的~你这儿直接style.marginLeft="10px"这样就可以了
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答