慕粉3770264
2016-08-29 09:58
为什么都需要用到,定时器呢,,
定时器不断刷新,每30ms刷新一次,就调用一次函数,运动的过程是宽高(等等想要的效果)变化的过程,调用函数改变宽高,达到运动效果,30ms刷新一次是因为,人眼能识出卡顿的最低帧数是30左右,因此30ms约等于30fps。
帮我看看哪里有问题呗
<script>
//多物体运动
window.onload=function(){
var li=document.getElementsByTagName('li');
for(var i=0;i<li.length;i++){
li[i].onmouseover=function(){
startMove4(this,400);
}
li[i].onmouseout=function(){
startMove4(this,200);
}
}
}
var timer=null;
function startMove4(obj,iTarget4){
clearInterval(timer);
timer.setInterval(function(){
speed4=(iTarget4-obj.offsetWidth)/8;
speed4=speed4>0?Math.ceil(speed4):Math.floor(speed4);
if(obj.offsetWidth==iTarget4){
clearInterval(timer);
}
else{
obj.style.width=obj.offsetWidth+speed4+'px';
}
},30)
}
</script>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
JS动画效果
113925 学习 · 1443 问题
相似问题