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没有被清除
没有清除的原因在于:
其他写法我看来是没问题的。
最后夸下题主贴代码是很好的习惯。好多人就光莫名其妙的问问题。