怎么我的背景没有变化呢?

来源:4-1 JS多物体动画

lacy_0001

2016-04-16 10:48

<script type="text/javascript">

window.onload=function(){

var aLi=document.getElementsByTagName('li');

for(var i=0; i<aLi.length;i++){

aLi[i].onmouseover=function(){

startMove(this,400);

}

aLi[i].onmouseout=function(){

startMove(this,200);

}

}

}

var timer=null;

function startMove(obj,iTarget){

clearInterval(timer);

timer=setInterval(function(){

var speed=(iTarget-obj.offsetWidth)/8;

speed = speed >0?Math.ceil(speed):Math.floor(speed);

if(obj.offsetWidth == iTarget){

clearInterval(timer);

}else{

obj.offsetWidth=obj.offsetWidth+speed+'px';

}

},30)

}

</script>


写回答 关注

1回答

  • mingttong
    2016-04-16 17:13:29
    已采纳

    倒数第5行的

    obj.offsetWidth=obj.offsetWidth+speed+'px'; 

    改为

     obj.style.width=obj.offsetWidth+speed+'px';

    就可以了。一开始我也搞不懂为什么,百度了一下,说是

    obj.offsetWidth是数值,而obj.style.width是字符串,所以在用obj.offsetWidth+speed+'px'改变宽度时应该赋值给obj.style.width.

    lacy_0...

    非常感谢!

    2016-04-18 09:25:51

    共 1 条回复 >

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题