javascript - clearinterval不管用了

查看:67
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆