javascript - 关于定时器的问题
本文介绍了javascript - 关于定时器的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<script type="text/javascript">
window.onload=function(){
var aDiv =document.getElementsByTagName('div');
for(var i=0;i<aDiv.length;i++){
aDiv[i].timer=null; //给每一个div加上一个定时器 第5行
aDiv[i].onmouseover=function(){
move(this,400);
}
aDiv[i].onmouseout=function(){
move(this,100);
}
}
}
// var timer=null;
function move(obj,iTarget){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
var speed =(iTarget-obj.offsetWidth)/6;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(obj.offsetWidth==iTarget){
clearInterval(obj.timer);
}
else{
obj.style.width=obj.offsetWidth+speed+'px';
}
},30)
}
想请教一下,为什么第5行的代码给删掉还能执行了?
解决方案
这行代码并不是增加计时器,setInterval 才是,而 timer 只是记录了定时器返回的值,方便以后调用 clearInterval 清除这个计时器。
这篇关于javascript - 关于定时器的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文