首页 > clearinterval不管用了

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>

var btn1=document.getElementsByTagName("input")[0];
var btn2=document.getElementsByTagName("input")[0];

您这对象获取有问题吧,两个都是一样的,下面的应该为1


加快的原因在于:interval没有被清除
没有清除的原因在于:

var btn1=document.getElementsByTagName("input")[0];
var btn2=document.getElementsByTagName("input")[0];

其他写法我看来是没问题的。
最后夸下题主贴代码是很好的习惯。好多人就光莫名其妙的问问题。

【热门文章】
【热门文章】