JavaScript常用的定时器

2023-11-03

1,定时器

  • setTimeout

  • setInterval

  • clearInterval

  • clearTimeout

1.1setTimeout() 定时器

window.setTimeout(调用函数 [,延迟的毫秒数]);

// 该定时器在定时器到期后执行调用函数 注意: 1-window 可以省略 2-这个调用函数可以直接写函数,或者写函数名或者采取字符串 ‘函数名()’ 三种形式 3-延迟的毫秒数省略默认为 0,如果写必须是毫秒 4-因为定时器可能有很多,所以我们经常给定时器赋值一个标识符

1.2 停止 setTimeout() 定时器

window.clearTimeout(timeoutID)

// 取消了先前通过调用 setTimeout() 建立的定时器 注意: 1-window 可以省略 2-里面的参数就是定时器的标识符

<script>
    setTimeout(function() {
        console.log('这是123');
    }, 2000);
function callback() {
    console.log('这是456');
}
var timer1 = setTimeout(callback, 3000);
var timer2 = setTimeout(callback, 5000);
// setTimeout('callback()', 3000); 
</script>

1.3 setInterval() 定时器

window.setInterval(回调函数 [,间隔毫秒数]);
​
// 重复调用一个函数,每个这个时间,就去调用一次回调函数
注意:
1这个调用函数可以直接写函数,或者写函数名或者采取字符串‘函数名()’三种形式
2间隔的毫秒数省略默认是 0,如果写,必须是毫秒,表示每隔多少毫秒就自动调用这个函数
3因为定时器可能有很多,所以我们经常给定时器赋值一个标识符
4第一次执行也是间隔毫秒数之后执行,之后每隔毫秒数就执行一次
​

1.4 停止 setInterval() 定时器

window.clearInterval(intervalID)

// 取消了先前调用 setInterval() 建立的定时器 注意: 1-window 可以省略 2-里面的参数就是定时器标识符

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>

<body>
 手机号码: <input type="number"> <button>发送</button>
 <script>
     // 同时按钮里面的内容会变化, 注意 button 里面的内容通过 innerHTML修改
     // 里面秒数是有变化的,因此需要用到定时器
     var btn = document.querySelector('button');
     var time = 3; // 定义剩下的秒数
     btn.addEventListener('click', function() {
         btn.disabled = true;     // 按钮点击之后,会禁用 disabled 为true 
         var timer = setInterval(function() {
             if (time == 0) {// 如果变量为0 说明到了时间,我们需要停止定时器,并且复原按钮初始状态
                 // 清除定时器和复原按钮
                 clearInterval(timer);
                 btn.disabled = false;
                 btn.innerHTML = '发送';
             } else {
                 btn.innerHTML = '还剩下' + time + '秒';
                 time--;// 定义一个变量,在定时器里面,不断递减 
             }
         }, 1000);
     })
 </script>
</body>

</html>

六、改变 HTML 元素【内容】 javascript的DOM操作可以改变网页内容、结构和样式,我们可以利用DOM操作元素来改变元素里面的内容、属性等操作。注意以下都是属性。

方法 描述

element.innerHTML = new html content 改变元素的 HTML 内容

element.innerTEXT = new text 改变元素的文本内容

element.attribute = new value 改变 HTML 元素的属性值

element.setAttribute(attribute, value) 改变 HTML 元素的属性值 element.hasAttribute(attribute) 判断元素是否有该属性

element.removeAttribute(attribute) 删除元素属性

element.style.property = new style 改变 HTML 元素的样式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript常用的定时器 的相关文章

  • Javascript 函数与 php 一样吗?

    我在网站上使用 WebIM 提供聊天支持 我希望能够在客户端启动聊天会话时设置一个计时器 如果操作员 技术人员在 x 秒内没有响应 我希望页面重定向到客户端可以留言的另一个页面 有点像 请稍等 我们尝试联系您 这样 如果所有技术人员都太忙或
  • 如何用js获取一个月的4个星期一?

    我正在构建一个图表 其中 x 轴应该是一个月的四个星期 我只想显示该月的四个星期一 我已经有了currentMonth和currentYear变量 而且我知道如何获取该月的第一天 我所需要的只是将一个月的四个星期一放入数组中 所有这些都在同
  • jqgrid 在编辑框中选择不正确的下拉选项值

    我正在使用表单编辑 表单中有两个选择框 一个选择框是国家 地区 另一个选择框是州 州选择框取决于所选的国家 地区 并将动态填充 例如 Country 美国 期权价值 1 英国 期权价值 2 美国的状态 阿拉巴马州 选项值 1 加利福尼亚州
  • 如何处理 d3 中 Beeswarm 图中的碰撞?

    我一直在玩这个例子here https gf neocities org co2bs co2bee html一会儿 我想做的是突出显示图中的单个节点 圆圈 通过使用边框使其变大 稍后我也想在其中添加文本或字母 目前 我已经圈了Bhutan图
  • Javascript:如何根据 html 标签扩展用户选择?

    乐代码 http jsfiddle net frf7w 12 http jsfiddle net frf7w 12 所以现在 当前的方法将完全按照 选择的方式获取所选文本 并添加标签 以便在显示时页面不会爆炸 但我想做的是 就是说 当用户选
  • JQuery 可排序嵌套可排序 div

    这个问题与这个有关Nest jQuery UI 可排序 https stackoverflow com questions 19129476 nest jquery ui sortables 但我无法解决我的问题 问题是 我有一个包含项目的
  • 无法从 Twin.macro 中的 Prop 获取值

    您可以在这里查看我正在尝试执行的操作的示例 https codesandbox io s vibrant leaf qj8vz https codesandbox io s vibrant leaf qj8vz 注意 这个特定的例子使用双宏
  • 如何使用 jQuery UI Sortable 正确相交?

    这是我对 jQuery UI Sortable 进行动画处理的尝试 https codepen io anon pen YdMOXE https codepen io anon pen YdMOXE var startIndex chang
  • 设置股票数据 Highcharts xAxis 的格式

    我已经浏览了需要为 xAxis 属性设置的 Highcharts 选项来格式化时间标签 但没有运气了解这对于这种情况到底是如何工作的 我在白天 盘中 检索了股票的动态数据 我需要显示这些数据 因为检索的数据每天从 9 30 开始到 17 0
  • 将 ESLint 与 Airbnb 样式和选项卡结合使用 (React.js)

    我正在开发一个 React js 应用程序 并且正在尝试检查我的代码 我将 ESLint 与 Airbnb 风格一起使用 但出现以下错误 src Test jsx 4 2 error Unexpected tab character no
  • 动态地将 .on() 方法与事件映射绑定

    我使用此语法来确保事件绑定动态添加li元素 ul list on click li function do something 我尝试使用这样的事件映射来存档相同的内容 ul list hammer css hacks false on s
  • 将数字限制为段的最优雅的方法是什么?

    比方说x a and b是数字 我需要限制x到段的边界 a b 换句话说 我需要一个钳位功能 https math stackexchange com q 1336636 clamp x max a min x b 有人能想出一个更易读的版
  • apollo 客户端从存储中删除而不发生突变

    我需要通过 id 从本地存储中删除一条 记录 而不使用突变 因为服务器不支持突变 我尝试像这样手动访问商店 delete this apolloClient store getState apollo data 1112 这会删除记录 但是
  • Material.Angular.io mat-autocomplete [displayWith] 函数更新范围变量

    我遇到了一个问题 我可以在实例化 mat autocomplete 的组件控制器中访问本地声明的变量 我面临的问题是局部变量被困在这个范围内 我无法更新它们 有关更新 mat autocomplete 范围变量的任何想法或想法 最终我要做的
  • select 元素是否具有标准值属性?

    这是一个简单的问题 但我找不到任何参考资料 所以就在这里 假设我有一个选择元素
  • 替换打字稿中字符串中字符的所有实例?

    我正在尝试用 x 字符替换电子邮件中的所有句号 例如 电子邮件受保护 cdn cgi l email protection 将变为 myxemail emailxcom 电子邮件设置为字符串 我的问题是它不只是替换句号 而是替换每个字符 所
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • 如何修复带有单个道具的括号的 prettier 和 tslint 错误?

    我使用 prettier 和 tslint https github com alexjoverm tslint config prettier https github com alexjoverm tslint config prett
  • 使用 Javascript 检测 Pepper (PPAPI) Flash

    我们使用的是专有的文档查看器 它与某些 Chrome 版本中的 Pepper 版本的 Flash 配合得不太好 所以我希望能够检测到它并重定向到不同格式的相同内容 由于这个版本似乎落后于 NPAPI 版本 所以我一直在使用闪光检测 http
  • 如何在 JSP 编辑器中激活 javascript 的语法着色 - Eclipse

    在某些情况下 javascript 确实必须位于 JSP 页面中 而不是位于单独的文件中 有些框架还使用Javascript做一些事情 以便用户将其包含到JSP标签中 这样JS就不会出现在

随机推荐

  • vue 插件开发

    一见如故 vue插件就是一个install方法 或者有install方法的对象 在组件实例化或者挂载之前use 就行了 install方法的第一个参数就是app或者Vue 所以可以加一些全局的东西 作用 加全局组件 指令 全局方法等 示例代
  • 关于 Python 之 Matplotlib 的总结

    文章目录 通用 简单例子 中文显示问题 参数 颜色 color参数表 线型 linestyle ls 参数表 标记符号 marker参数表 位置 legend loc参数表 plt 常用命令 图形模板 柱形图 饼图 散点图 直方图 箱线图
  • 1、微信小程序-环境搭建、基本语法

    文章目录 前言 一 微信小程序简介 1 微信 程序 2 运行环境 3 环境准备 二 项目的目录结构 1 小程序项目结构与传统web相比 2 小程序基本目录结构 2 1 json 配置文件 2 1 模板语法 代码见demo01 2 2 wxs
  • 进程间通讯几种方式

    进程通信的目的 数据传输 一个进程需要将它的数据发送给另一个进程 发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据 一个进程对共享数据 通知事 一个进程需要向另一个或一组进程发送消息 通知它 它们 发生了某种事件 如
  • (2)minikube玩转k8s集群之安装kubectl和minikube

    配套视频教程 1 Minikube介绍 简单说 创建k8s集群很麻烦 minikube可以让我们快速搭建一个k8s集群用于学习 Minikube 是一种可以让您在本地轻松运行 Kubernetes 的工具 Minikube 在笔记本电脑上的
  • 从文本、图像到音视频,AIGC技术将如何重构我们的数字世界?

    引言 1950 年 艾伦 图灵提出著名的 图灵测试 给出判定机器是否具有智能的试验方法 16 年后 世界上第一款可人机对话的机器人 Eliza 问世 这是 AI 技术最早期的萌芽阶段 但由于当时的科技水平限制 AIGC 仅限于小范围实验 A
  • Git clone下载文件和依赖项 in cmd

    从github复制好你要下载的文件地址和依赖项 git clone https github com kibamin FuzzyConstraintClustering git pip install r requirements txt
  • LeetCode 56. 合并区间

    题目链接 点击这里 题意 给出一个区间的集合 请合并所有重叠的区间 思路 AC代码 class Solution public vector
  • 高德地图开发(二、地图控件)

    高德地图开发 二 地图插件加载 一 加载单个插件 二 加载多个插件 有同步 异步等方法 我用得都是异步 图层类型切换 MapType 与3D罗盘控制 AMap ControlBar 会重叠 需要另写样式让它们分开 插件类型链接 https
  • TensorFlow bug(六)——Dimensions of inputs should match: shape[0] = [1,600,750,3] vs. shape[2] = [1,600

    问题描述 在用R FCN目标检测API训练我自己的数据时 我对原代码做了些改动 原来的rfcn resnet101 coco config文件中 batch size的值为1即一次处理1张图片 我改成了别的数 2 8 16 32 都会出现如
  • Unity 3D物体、UI同屏||3D物体在UI界面显示

    先来猜一下这两个石头人 哪一个是UI 哪一个是3d物体 答案是中间那一个 这种UI显示3D物体适用很多场景 比如说商店展示模型展示 例子特效 2 5d游戏 实现起来很简单 接下来我们实现一下 实现步骤 1 新建一个相机 对准角色 2 UI新
  • usb设备拓扑关系

    usb设备拓扑关系 1 简介 2 usbfs和debugfs拓扑 2 1挂载方式 2 2拓扑关系信息说明 2 2 1usb总线上的设备信息 2 2 2总线上特定设备的详细信息 2 3debugfs中的设备拓扑信息 T Topology B
  • react之旅(八)React生命周期

    一 react 16前的生命周期 1 1 constructor constructor props context 如果想 在组件其他地方是可以直接接收的 使用props或context 则需要以参数形式传入 只要组件存在construc
  • 求n的阶乘的算法框图_你不知道的阶乘与gamma函数

    你不知道的阶乘 阶乘对于有数学基础的人来说都不陌生 简单理解就是数的累乘 10的阶乘10 10 9 8 7 6 5 4 3 2 1 但是我们有没有思考过 如分数的阶乘是如何运算的 有没有方法估算一个数的阶乘 其实 1 2的阶乘等于 的平方根
  • 入门级题解:剑指 Offer 06. 从尾到头打印链表

    题目地址 https leetcode cn com problems cong wei dao tou da yin lian biao lcof 主要是 vector 容器的用法 之前学过 忘了 vector的详解 https blog
  • SpringBoot+VUE实现文件导入并将其保存到Liunx系统

    SpringBoot VUE实现文件导入 一 需求 二 前端代码实现 2 1 显示实现 2 1 1 a标签实现 2 1 1 1 上传标签实现 2 1 1 2 查看标签实现 2 2 上传文件和文件查看界面实现 2 2 1 上传文件界面 2 2
  • 云原生之使用Docker部署Redis数据库

    云原生之使用Docker部署Redis数据库 一 检查系统版本 二 检查docker状态 三 检查docker版本 四 搜索redis镜像 五 下载redis镜像 六 创建redis容器 1 创建数据目录 2 运行redis容器 3 检查r
  • 挺详细的一篇Cadence学习笔记

    目录 下载方法及连接 更新补丁后快捷方式失效怎么办 cadence软件介绍 Cadence Product Choices 新建工程 如何不打印右下角的信息框 原理图库 复合元器件 元器件逆时针放置引脚 添加元件库 元器件编号重新排列 页面
  • 对于msvcr120.dll丢失的问题,分享几种解决方法

    msvcr120 dll的作用是提供一系列的运行时函数和功能 以便应用程序能够正常运行 这些函数和功能包括内存管理 异常处理 输入输出操作 数学运算等 在没有这个库文件的情况下 应用程序可能无法正常启动或执行特定的功能 甚至会出现错误提示
  • JavaScript常用的定时器

    1 定时器 setTimeout setInterval clearInterval clearTimeout 1 1setTimeout 定时器 window setTimeout 调用函数 延迟的毫秒数 该定时器在定时器到期后执行调用函