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

这段代码为什么只能扩大width不能缩小

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>some_thing_motion</title>

<style type="text/css">

*{

padding: 0; margin:0;

}

ul,li{

list-style: none;

}

ul li{

width: 200px;

height: 100px;

background-color: yellow;

margin-bottom: 20px;

}

</style>

<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.style.width=obj.offsetWidth+speed+'px';

}

},20)

}

</script>

</head>

<body>

<ul>

<li></li>

<li></li>

<li></li>

</ul>

</body>

</html>



提问者:电气小老头0 2016-04-24 16:12

个回答

  • 慕粉3139527
    2016-04-24 16:39:33

    额,这个是括号的问题,你的代码for循环后面缺了{},所以导致元素只有onmouseover属性可以添加函数