电气小老头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>
额,这个是括号的问题,你的代码for循环后面缺了{},所以导致元素只有onmouseover属性可以添加函数
JS动画效果
113925 学习 · 1443 问题
相似问题