js动画我们首先想到的就是添加定时器,在js中添加定时器有两种:
定时定时器 setInterval(函数,时间);
延时定时器 setTimeout(函数,时间);
如果在一个项目中,多个对象同时使用一个定时对象,就会导致每次操作对象的定时器都会同时修改整体变有的量,也即是要变同时变化,要么就是动画没有结束就被提前取消定时器,达不到理想的效果。解决这样的问题(BUG),很简单就是在每一个对象的开始就自定义添加一个变量,然后通过调用函数将对象和变量引入。具体操作请看如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div{
width: 100px;
height: 100px;
background-color: red;
margin-top: 10px;
}
</style>
<script>
window.onload=function(){
var aDiv = document.getElementsByTagName('div');
for(var i=0;i<aDiv.length;i++){
aDiv[i].timr = null;
aDiv[i].onmouseover=function(){
startMove(this,300)
}
aDiv[i].onmouseout=function(){
startMove(this,100)
}
}
}
function