问答详情
源自:4-1 JS多物体动画

我的为什么实现不了,感觉没有什么问题呀

<style type="text/css">

*{margin:0;padding:0;}

ul,li{

list-style:none;

}

ul li{

width:200px;

height:100px;

background:yellow;

margin-bottom:20px;

}

</style>

<script type="text/javascript">

window.onload=function(){

var lis=document.getElementsByTagName("li");

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

//lis[i].timer=null;

lis[i].onmouseover=function(){

startMove(this,400);

}

lis[i].onmouseout=function(){

startMove(this,200);

}

}

}

function startMove(obj,target){

clearInterval(obj.timer);

obj.timer=setInterval(function(){

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

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

if(obj.offsetWidth==target){

clearInterval(timer);

}else{

obj.style.Width=obj.offsetWidth+speed+"px";

}

},30)

}

</script>

</head>


提问者:慕粉baby 2016-05-26 15:25

个回答

  • Sunnylincon
    2016-06-06 16:19:58

    倒数第六行obj.style.Width=obj.offsetWidth+speed+"px";中前面Width大写了,改成小写即可

  • qq_夕阳_11
    2016-05-29 03:12:08

    有可能是js的大括号没配对好,我的就是这样,你自己打开开发者工具看看出错在哪行就知道了    报错:Uncaught SyntaxError: Unexpected end of input

  • qq_徐徐图之_03399485
    2016-05-26 20:17:50

    clearInterval(timer); timer改成obj.timer