js延时器setTimeout改造为定时器

使用定时器中断进行延时,取代delay,不影响主流程的运行 本文介绍了如何使用定时器中断进行延时,取代delay,不影响主流程的运行,并且能够控制延时开始时间,实现相对准确的延时。也涉及到状态机的使用 阅读详情

 js延时器setTimeout改造为定时器

核心思维----利用回调函数改造,让setTimeout延时器执行自身回调函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>定时器</title>
</head>
<body>

<input type="button" value="开始计时" id="btn">
<input type="text" id="txt" value="0">
<input type="button" value="停止计时" id="btn2">

<script>
    //获取元素
    var btn = document.getElementById('btn');
    var btn2 = document.getElementById('btn2');
    var txt = document.getElementById('txt');
    //注册事件
    //开始计时
    btn.onclick = timedCount;
    //停止计时
    btn2.onclick = function () {
        clearTimeout(timer);
        btn.disabled = false;
    }

    var c = 0;
    var timer;
    function timedCount() {
        btn.disabled = true;
        txt.value = c;
        c += 1;
        //延时1s执行程序,执行自身函数timedCount
        timer = setTimeout(timedCount, 1000);
    }
</script>
</body>
</html>

 

只看这一篇就够了:定时器延时器异步执行的本质 定时器延时器的执行,保你看这一篇就会了 阅读详情

相关推荐

基于live555实现一个rtsp客户端程序

本文介绍了基于live555流媒体库实现的RTSP客户端程序,能够通过RTSP地址获取H.264/H.265裸码流或TS流数据并存入本地文件。详细阐述了使用CLion搭建工程的代码架构和CMake配置,重点分析了TS流解析模块的实现,包括TS包结构解析、PES包提取和ES裸流获取的完整流程。文章提供了TS/PES/ES三种数据包的协议说明,并给出了从TS流中提取视频帧的具体方法,最后附有工程代码下载链接。该方案实现了RTSP流媒体接收、解析和存储的完整功能链。

kk821521286的博客 762

set一个带有进度的小setTimeout替代方案。-JavaScript开发

随时间更新(uot)随时间更新(uot)是一个微型库,可提供随时间更新值的最简单方法。 提供回调和持续时间,您准备好了! 此实用程序对CSS动画很有用,“随时间更新(uot)”随时间更新(uot)是一个小型库,可提供随时间更新值的最简单方法。 提供回调和持续时间,您准备好了! 此实用程序对CSS动画,DOM更改,WebGL过渡或可以根据进度值进行更新的任何内容很有用。 它基本上是一个带有进度的setTimeout(或setInterval)。 功能:体积小,无依赖项基于requestAnimationFrame针对多个实例进行了优化安装

C#报表,使用微软rdlc模板,生成Excel, PDF, Word, Image文件,使用自定义对象做数据集不连接数据库

我项目是用vs2017 建的,.NET farmwork 4.7.2 这种报表可以用于任何模式的应用,web,桌面,因为这只是生成一个文件或者文件流 步骤比较详细啰嗦,其中有讲到rdlc怎么新建设计,如果已经会设计rdlc了的可以直接跳到底部看代码的执行结果, 底部还有源码下载链接,百度盘 首先控制台安装报表包 新建rdlc 报表 建立rdlc里要用的数据模型 模型建完,或者修改都要重新...

qq_35955916的博客 5175

浅析javascript三种定时器原理和异同

念念不忘 必有回想 前言 众所周知js定时器有两种 setTimeout和setInterval 还有一个新增的requeTanimationFrame(动画API)也被加入到了面试经常考察的范围,那么我就从是什么 怎么用,什么时候用,他们的区别是什么来简述一下这三者的关系 1、setTimeout延时器setTimeout完整的写法其实是window.setTimeout 是window的一个属性,由于window是全局作用域,通常我们写的时候就省略了 setTimeout()方法用来指定某个函.

十九万里的博客 2627

setTimeout延时器代替setInterval定时器

今天有个需求,要求前端有个心跳机制,每十秒访问一个指定接口,想到权威指南里一直有提过setTimeout好于setInterval,就磨刀霍霍向代码了。 第一版 为了测试,时间改为1秒了 t_:number; const that = this; setTimeout(function test(){ that.http.query('/api/heart_beat', {}).subscribe(res => { if(res){

qq_15798421的博客 1047

js 使用setTimeout()代替setInerval()易错点

使用setTimeout()代替setInerval()易错点 跟着b站尚硅谷的JS基础视频自己在做 定时器案例 时出现了一些小错误。 案例描述 正确 错误 实现过程 不想看的可跳过此部分 //Code01 //一些获取元素对象初始化 let box1 = document.getElementById("box1"); //粉色盒子 let box1Width = parseInt(getStyle(box1, "width")); //获取粉色盒子的width,这么写是为了提高浏览

JonyXin27的博客 1204

项目中用setTimeout代替setInterval

为什么要用setTimeout代替setInterval 博客参考 点击,需要注意的是这两个定时器并不是定时执行,一般会延后一点点,秒数所表示的是,在一定时间后,被放入到队列中 setInterval的缺陷 使用 setInterval某些间隔会被跳过不执行 当使用 setInterval时,仅当队列中没有该定时器的任何其他代码时,才会将定时器代码加入到队列中 可以这么理解:每个setTimeout产生的任务会直接push到任务队列中;而setInterval在每次把任务push到任务队列前,都要进

youhebuke225的博客 1211

JavaScript的定时器延时器

定时器 定义 按照设定的时间间隔 循环往复执行程序也就是 按照设定的时间间隔 每间隔设定的时间 执行一次程序事件间隔的单位是 毫秒也就是 按照间隔时间 一直重复执行程序 语法 setInterval( 参数1 , 参数2 ) 参数1 执行的函数程序 参数2 时间间隔 参数1的语法形式 语法形式1 匿名函数 语法形式2 函数名称 参数1的语法形式 称为 回调函数 callback 注意 ...

qq_45799465的博客 1万+

JavaScript定时器延时器

定时器是根据设定的时间间隔来循环执行程序,只要定时器不停止程序就会一直执行 setInterval(参数1,参数2) 参数1:要执行的程序必须是一个函数的形式function(){ 定义程序 } 参数2:执行程序的间隔时间单位是毫秒。时间间隔不能无限小,与计算机的刷新频率有关。一般最少定义0.1秒,也就是100毫秒 // 将定时器,存储在一个变量中 var shuai1 = set...

MixedSignals的博客 1397

JS14- 定时器延时器

定时器延时器 定时器: setInterval( 参数1 , 参数2 ) 参数1: 必须是函数的形式,定义的是执行的程序 参数2: 定义时间间隔,每单位是毫秒 按照设定的间隔时间,循环执行设定的程序,直到清除定时器 延时器: setTimeout( 参数1 , 参数2...

DcTbnk的博客 2131

JS 定时器延时器

JS 定时器延时器 JavaScript里面内置了两个定时器,一个是setTimeout()、一个是setInterval() 1.setTimeout() 延时器(setTimeout): setTimeout(function(){ console.log(222) },1000) 过一秒执行输出一个222,并不再执行。 2.setInterval() 定时器(setInterval): setInterval(function(){

weixin_44713688的博客 1万+

秒懂JS定时器延时器

setTimeout(fn(),delay)在执行时,是在载入后延迟指定时间后,去执行一次表达式,注意只执行一次,而setInterval(fn(),delay)在载入后,每隔指定的时间就执行一次表达式 所以是不一样的。setTimeout函数用于在一定时间后执行一段代码。它接受两个参数,第一个参数是要执行的代码,可以是函数或字符串形式的代码,第二个参数是延迟的时间,单位是毫秒。在JavaScript中,定时器延时器是常用的功能,它们允许我们在特定的时间间隔执行代码,或者延迟一段时间后执行代码。

weixin_68613594的博客 2367

JS | setTimeout 延时器详解

settimeout的特点是,它只执行一次,如果想要再次执行,需要重新调用settimeout。另外,settimeout的延迟时间并不是准确的,它只是表示最早可能执行的时间,实际执行的时间可能会受到其他代码的影响,比如浏览器的事件循环,或者其他的定时器settimeout和setinterval的区别如下:settimeout只执行一次,而setinterval会不断重复执行,直到被清除。settimeout和setinterval的延迟时间和执行间隔都不是准确的,它们会受到其他代码和浏览器的影响

青春木鱼的博客 2533

定时器 延时器

定时器 <script> // 定时器 // 根据设定的时间间隔,来循环执行程序 // 只要定时器不停止,程序就会一直执行 // setInterval( 参数1 , 参数2 ) // 参数1:要执行的程序,必须是一个函数的形式 function(){ 定义程序 } // 参数2:执行程序的间隔时间 单位是毫秒 // 时间间隔不能无限小,与计算机的刷新频率有关 // 60Hz 60赫兹 代表,

Allen的博客 1187

定时器延时器

12.17打卡

weixin_52350720的博客 731

js定时器延时器的用法

js定时器的主要语法有以下四个: 添加定时器: setTimeout("js语句",时间) setInterval("js语句",时间) 删除定时器(此处的timer(自定义)是定时器的顺序,在后面的部分我会介绍到): clearTImeout(timer) clearInterval(timer) 然后我们介绍一下它们的具体用法: setTimeout 只能执行一次,请看下面的代...

lhrdlp的学习笔记 4728

29【定时器延时器

29【定时器延时器

DSelegent的博客 1060

[js] 定时器 setInterval 延时器 setTimeout 清除定时器clearInterval 清除延时器clearTimeout

定时器 按照设定的时间间隔 循环往复执行程序 只要定时器不终止 会一直执行程序 setInterval( function(){ console.log(111); } , 1); 延时器 按照设定的时间间隔 延迟执行程序 只会延迟执行一次程序 setTimeout( function(){ // 这里的程序 是 3秒钟以后执行 console.log(111); } , 3000 ); ...

qq_14993591的博客 1793

SAP系统760安装包

SAP系统760安装包

上一篇: js(javaScript)如何取出数组中的不同值(去重)
下一篇: 微信小程序onShareAppMessage的使用介绍
it_lin_web
博客等级 码龄8年 2粉丝 8原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值