发表于: 2017-04-01 23:53:08

2 1190


今天完成的事情-收获:

【JS-TASK1】SETINTERVAL() 定时器的有关

小课堂【成都第68期】

分享人:韩阳

目录

1.背景介绍

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。 提示: 1000 毫秒= 1 秒。

setTimeout 

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

2.知识剖析

语法 setInterval(code,millisec,lang)

参数 描述 code 必需。要调用的函数或要执行的代码串。 millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。 lang 可选。 JScript | VBScript | JavaScript

setTimeout 

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

注:调用过程中,可以使用clearTimeout(id_of_settimeout)终止

语法 setInterval(code,millisec,lang)

参数 描述 code 必需。要调用的函数或要执行的代码串。 millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。 lang 可选。 JScript | VBScript | JavaScript

语法 setTimeout(code,millisec) 参数 描述 code 必需。要调用的函数后要执行的 JavaScript 代码串。 millisec 必需。在执行代码前需等待的毫秒数。

setInterval与setTimeout区别是什么

很简单 setInterval就是间隔型定时器 etTimeout就是延时型定时器

3.常见问题

setInterval多次触发以后为什么越来越快?

4.解决方案

造成这个情况的原因很简单,你每启动一次setInterval事件 多次启动会造成定时器的时间叠加 这样当然会越来越快。 解决的办法也很简单

之前变量var timer是写在onclick内部的 每次点击都会var一次 相当于重新赋值在函数内部var 就相当于局部变量 重新赋值之后 这个局部变量就会被销毁 导致此时timer已经不存在了 点击but2就找不到timer了

5.编码实战

  <input type="text" id="clock" size="35">

                    <script language="javascript">

                    var int=self.setInterval("clock()",50)

                    function clock()

                    {

                    var t=new Date()

                    document.getElementById("clock").value=t

                    }

                    </script>

                    

                    <button onclick="int=window.clearInterval(int)">

                        Stop interval

                    </button>

                

7.参考文献

参考一:Baidu

参考二:豆瓣

8.更多讨论

还有哪些更好的方法来解决定时器触发变快的办法呢

鸣谢

感谢大家观看

BY : 韩阳

今天做了PPT 有关定时器的知识。

明天计划的事情:完成任务三 开始任务四

遇到的问题:今天主要做PPT 没有太大的问题 



返回列表 返回列表
评论

    分享到