javascript - clearinterval不管用了
本文介绍了javascript - clearinterval不管用了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1 没加timer之前setinterval是好用的,加了之后setinterval和clearinterval都不好用了。这是什么情况导致的。开始timer是为空的,然后点击第一个按钮的时候 setinterval赋值给他,然后clearinterval(timer)不就好了吗? 还有setinterval导致点击一下图片切换速度加快,点击一下又会加快一点。怎么解决?
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
window.onload=function(){
var arr=['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg']
var btn1=document.getElementsByTagName("input")[0];
var btn2=document.getElementsByTagName("input")[0];
var num=0;
var timer=null;
function fn1(){
document.body.style.background='url('+ arr[num] +')'
num++;
if(num==arr.length){
num=0;
}
}
btn1.onclick=function(){
timer= setInterval(fn1,3000)
}
btn2.onclick=function(){
clearInterval(timer);
}
}
</script>
</head>
<body>
<input type="button" value="换背景"/>
<input type="button" value="停" />
</body>
</html>
解决方案
加快的原因在于:interval没有被清除
没有清除的原因在于:
var btn1=document.getElementsByTagName("input")[0];
var btn2=document.getElementsByTagName("input")[0];
其他写法我看来是没问题的。
最后夸下题主贴代码是很好的习惯。好多人就光莫名其妙的问问题。
这篇关于javascript - clearinterval不管用了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文