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

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

电气小老头0

2016-04-24 16:12

<!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>



写回答 关注

1回答

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

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

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题