Javascript 笔记与总结(2-13)定时器 setTimeout 和 setInterval

定时器可以让 js 效果每隔几秒钟执行一次或者 n 秒之后执行某一个效果。定时器不属于 javascript,是 window 对象提供的功能。

setTimeout 用法:

window.setTimeout(‘语句‘,毫秒);   //指定毫秒后执行一次语句

【例】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #div1{
            width: 300px;
            height: 300px;
            background: blue;
            border-bottom: 1px solid black;
        }
    </style>
</head>
<body>
    <p id="p">定时改变文字</p>
    <script>
        function change(){
            document.getElementById("p").innerHTML = "已更换";
        }
        window.setTimeout("change()", 3000); //3秒之后执行change方法
    </script>
</body>
</html>      

优化:定时器的效果之上加上倒计时效果

setInterval(‘语句‘,毫秒);  //每隔指定毫秒执行一次

清除定时器:

clearInterval();
和
clearTimeout();

【代码】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #div1{
            width: 300px;
            height: 300px;
            background: blue;
            border-bottom: 1px solid black;
        }
    </style>
</head>
<body>
    <input type="button" name="time" value="5">
    <p id="p">定时改变文字</p>
    <script>
        function change(){
            var inp = document.getElementsByName("time")[0];
            var time = parseInt(inp.value)-1;
            inp.value = time;
            if(time == 0){
                document.getElementById("p").innerHTML = "已更换";
                clearInterval(clock);  //清除定时器
            }
        }
        var clock = setInterval("change()", 1000); //每秒钟执行一次
    </script>
</body>
</html>      

【例】如果不适用 setInterval,只使用 setTimeout,达到每过一段时间执行一次的效果

使用 setTimeout 实现 setInterval 的效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #div1{
            width: 300px;
            height: 300px;
            background: blue;
            border-bottom: 1px solid black;
        }
    </style>
</head>
<body>
    <input type="button" name="time" value="5">
    <p id="p">定时改变文字</p>
    <script>
        var clock = null;
        function change(){
            var inp = document.getElementsByName("time")[0];
            var time = parseInt(inp.value)-1;
            inp.value = time;
            if(time == 0){
                document.getElementById("p").innerHTML = "已更换";
                clearTimeout(clock);
                return;
            }
            setTimeout("change()", 1000);
        }
        var clock = setTimeout("change()", 1000); //每秒钟执行一次
    </script>
</body>
</html>      
时间: 2024-10-19 02:02:12

Javascript 笔记与总结(2-13)定时器 setTimeout 和 setInterval的相关文章

使用定时器settimeout、setInterval执行能传递参数的函数

无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决.经网上查询后整理如下: 例如对于函数hello(_name),它用于针对用户名显示欢 迎信息: var userName="jack"; //根据用户名显示欢迎信息 function hello(_name){ alert("hello,"+_name); } 这时,如果企图使用以下语句来使hello

ReactNative: 定时器setTimeout、setInterval、setImmediate的使用

一.简介 定时器在需求中也是一个常见的部分,例如在间隔时间内循环执行某些业务或者定时推送消息等.ReactNative中提供了三种定时器API,分别是setTimeout.setInterval.setImmediate.它们都是遵循浏览器API标准实现的,但是作用也略有不同. 二.API 1.setTimeout:主要用于设定一个定时任务,只会执行一次.在达到某个时间点时开始执行此任务, 例如打开APP 5秒后开始获取用户的位置信息. //定时器对应的ID declare opaque typ

javascript定时器:setTimeout与setInterval

概述: setTimeout:在指定的延迟时间之后调用一个函数或者执行一个代码片段,只执行一次: setInterval:周期性地调用一个函数(function)或者执行一段代码,重复执行: 语法格式及示例: setTimeout: var timer=setTimeout(function(){ //要执行的代码 code },delay); * delay 是延迟的毫秒数 (一秒等于1000毫秒),函数的调用会在该延迟之后发生.但是实际的延迟时间可能会稍长一点 * code  是delay毫

JavaScript定时器 setTimeout与setInterval 浅析

一. 前情提要 1)JavaScript 是运行在单线程的执行环境中的 2)由浏览器安排事件的执行顺序 二.setTimeout 使用场景: 设定代码在未来的某个时间执行,而执行的时机是不能保证的. 工作方式: 在特定的时间过去之后将时间插入执行队列,注意,并不是立即执行 三.重复的定时器 setInterval 使用场景: 在设定的时间段内在代码执行队列中插入一段待执行代码 注意: 当有定时器中的代码正在执行时,会跳过这次插入 缺点:即使跳过了某些间隔代码的执行,在定时器代码执行时间比设定的时

Javascript 笔记与总结(1-3)arguments

arguments 是函数运行时的实参列表(对象),每个函数都有自己的 arguments,但不往外层函数寻找 arguments 的相关属性,即不行成链(只有 OA 形成作用域链). 例1 <script> (function(d, e, f){ console.log(arguments); console.log(typeof arguments); })('javascript','programming','!'); </script> console 中输出 [&quo

Javascript 定时器篇 setTimeout和setInterval

标题定时器,让我想起了年代久远的VB,那时候也有个定时器,长的跟闹钟一样()相信跟我一样用过VB的人都不陌生.很基础的东西,但是作用却很大.记得那时候我还不太会用,忘记是用来做动画了,还是干嘛了.不过如今,已经入门编程语言了,那么就用CODE来说吧.今天我么要说的是WEB 前端技术 Javascript 的2大定时器.存活了很久,用处依旧大大大的~~~他们分别就是 setTimeout和setInterval. Javascript本身区分大小写,所以要注意 setTimeout和setInte

Javascript异步编程之setTimeout与setInterval详解分析(一)

Javascript异步编程之setTimeout与setInterval 在谈到异步编程时,本人最主要会从以下三个方面来总结异步编程( 注意: 特别解释:是总结,本人也是菜鸟,所以总结不好的,请各位大牛多多原谅!) 1. setTimeout与setInterval详细分析基本原理. 接下来这篇博客会总结setTimeout和setInterval基本点,对于上面三点会分三篇博客分别来总结,对于知道上面三点的人,但是又不是非常了解全面知识点的码农来说,没有关系的,我们可以慢慢来学习,来理解,或

Javascript异步编程之setTimeout与setInterval详解

http://www.cnblogs.com/tugenhua0707/ 在谈到异步编程时,本人最主要会从以下三个方面来总结异步编程( 注意: 特别解释:是总结,本人也是菜鸟,所以总结不好的,请各位大牛多多原谅!) 1. setTimeout与setInterval详细分析基本原理. 接下来这篇博客会总结setTimeout和setInterval基本点,对于上面三点会分三篇博客分别来总结,对于知道上面三点的人,但是又不是非常了解全面知识点的码农来说,没有关系的,我们可以慢慢来学习,来理解,或者

Javascript定时器(二)——setTimeout与setInterval

一.解释说明 1.概述 setTimeout:在指定的延迟时间之后调用一个函数或者执行一个代码片段 setInterval:周期性地调用一个函数(function)或者执行一段代码. 2.语法 setTimeout: var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]); var timeoutID = window.setTimeout(code, delay); timeoutID 是该延时操作的数字ID,