开启辅助访问
帐号登录 |立即注册

设置定时器详解setTimeout、setInterval 、clearTimeout

 
1、设置延时调用setTimeout
<script>
        // 1. setTimeout
        // 语法规范:  window.setTimeout(调用函数, 延时时间);
        // 1. 这个window在调用的时候可以省略
        // 2. 这个延时时间单位是毫秒 但是可以省略,如果省略默认的是0
        // 3. 这个调用函数可以直接写函数 还可以写 函数名 还有一个写法 '函数名()'
        // 4. 页面中可能有很多的定时器,我们经常给定时器加标识符 (名字)
        // setTimeout(function() {
        //     console.log('时间到了');
        // }, 2000);
举例:
       function callback() {
            console.log('爆炸了');
        }
        var timer1 = setTimeout(callback, 3000);
        var timer2 = setTimeout(callback, 5000);
        // setTimeout('callback()', 3000); // 我们不提倡这个写法
    </script>


2、设置隔时间重复调用setInterval

    <script>
        // 1. setInterval
        // 语法规范:  window.setInterval(调用函数, 延时时间);
举例:
        setInterval(function() {
            console.log('继续输出');
        }, 1000);
        // 2. setTimeout  延时时间到了,就去调用这个回调函数,只调用一次 就结束了这个定时器
        // 3. setInterval  每隔这个延时时间,就去调用这个回调函数,会调用很多次,重复调用这个函数
    </script>


3、清除定时器clearTimeout
举例1:
    <script>

        var btn = document.querySelector('button');   
        var timer = setTimeout(function() {
            console.log('爆炸了');   
     }, 5000);
        btn.addEventListener('click', function() {   
         clearTimeout(timer);
        });   
</script>
举例2:
<body>  
  <button class="begin">开启定时器</button>
  <button class="stop">停止定时器</button>   
<script>
        var begin = document.querySelector('.begin');     
        var stop = document.querySelector('.stop');
        var timer = null; // 全局变量  null是一个空对象
        begin.addEventListener('click', function() {
            timer = setInterval(function() {
                console.log('ni hao ma');
            }, 1000);
       });
        stop.addEventListener('click', function() {
            clearInterval(timer);
        }) ;  
</script>
</body>
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。