JavaScript--定时器

一.定义

关于JavaScript中的计时事件?

JavaScript 一个设定的时间间隔之后来执行代码,我们称之为计时事件(菜鸟说…)

二.方法

2.1计时器

setInterval() :

是什么:这个方法设置一个定时器,一旦定时器到期,就会执行一个函数或指定的代码片段。

怎么用:setInterval ( "函数" , "时间" )         注:第二个参数间隔的毫秒数(1000毫秒=1秒)

2.2如何终止计时器

语法:clearInterval(计时器的id);

关于计时器的例子:

走马灯

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script type="text/javascript">onload = function() {// 找到id为p的元素var p = document.getElementById("p");btn = "btn1"button = document.getElementById(btn).onclick = function() {// 加入计时器setInterval(function() {// 找到p标签内的文字var txt = p.innerHTML;// charAt() 方法返回字符串中指定索引(下标)处的字符。var end = txt.charAt(txt.length-1);// substr() 方法从指定位置开始,并返回指定数量的字符。并且不会更改原始字符串。var body = txt.substr(0,txt.length-1);// 更新p标签内的文字p.innerHTML = end + body;}, 200);// alert(1)}}</script></head><body><p id="p">欢迎来到低配版走马灯的循环内</p><input type="button" name="name" value="<-" id="btn1" /></body>
</html>

 时间显示:

第一种方式(不终止计时器)

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script type="text/javascript">onload = function() {// 下面是显示当前时间的一种写法window.date.innerHTML = new Date().toLocaleString();// 这是一个回调函数var isRun = true// 使用计时器var intervalId = setInterval(function() {if (isRun) {window.date.innerHTML = new Date().toLocaleString();}}, 1000)    // 每秒循环一次计时器内的内容document.getElementById("btn").onclick = function() {/*// 回车在这里起作用if (this.value == "点击停止") {// 回看上面的代码,把isRun改成false,让他进不去计时器isRun = !isRun;// 改变按钮的文字this.value = "点击开始"} else {isRun = !isRun;this.value = "点击停止"}*/// 上述的简易写法(可以使用上面的写法,比较清晰明了一点)isRun = !isRun;this.value = "点击" + "开始,停止".split(",")[Number(isRun)];}}</script></head><body><p>现在时刻:<span id="date"></span></p><br /><input type="button" id="btn" value="点击停止" /></body>
</html>

 第二种方式(终止计时器)

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script type="text/javascript">// 页面一开始加载就显示时间,然后每隔一秒钟更新一次时间 	onload = function() {// toLocaleString(),toLocaleDateString(),toLocaleTimeString()等// 如果不加这句话,一开始可能会显示不出来,会等一秒才显示window.date.innerHTML = new Date().toLocaleString();// 这是一个回调函数var intervalId = setInterval(function() {window.date.innerHTML = new Date().toLocaleString();}, 1000)document.getElementById("btn").onclick = function() {if (this.value == "点击停止") {// 要变成开始// 直接清除计时器clearInterval(intervalId);this.value = "点击开始"} else {// 要变成停止intervalId = setInterval(function() {window.date.innerHTML = new Date().toLocaleString();}, 1000)this.value = "点击停止"}}}</script></head><body><p>现在时刻:<span id="date"></span></p><br /><input type="button" id="btn" value="点击停止" /></body>
</html>

 但是对于第二种方法来说,每点一次就清除一次计时器太麻烦,系统本身效率不高

关于时间显示运行代码如图:

2.3延时器

setTimeout() :

是什么:是一种在定时器运行完毕后执行一段代码的方法。

怎么用:setTimeout ( "函数" , "时间" )                 注:时间的单位同样是毫秒

        解释:就像浏览器搜索,不是你输入一个就返回相应的东西,而是再你输入后等一会看你还会不会继续输入,如果不输入了就返回相对应的结果

2.4如何清空延时

语法:clearTimeout(延时器的id);

为什么要清空延时:

如果按的快的话,要防止延时累加,把之前的延时清空。

就像下面这样:

关于延时器的例子

在下面输入框内输入东西,会延迟回显到第一个框中

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">input {width: 50%;}</style><script type="text/javascript">onload = function() {var txt1 = document.getElementById("txt1");var txt2 = document.getElementById("txt2");var timeoutId;// 键盘弹起之后,不用onkeydown是因为防止用户一直按着键盘txt2.onkeyup = function() {// 关闭延时clearTimeout(timeoutId);	// 如果已经关闭或没有数据,这句话无效// 开启新的延时timeoutId = setTimeout(function() {txt1.value = txt2.value;},500)}}</script></head><body><input type="text" name="name" value="" id="txt1"/><br /><br /><input type="text" name="name" value="" id="txt2"/></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/16511.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

数据分析-48-时间序列变点检测之在线实时数据的CPD

文章目录 1 时间序列结构1.1 变化点的定义1.2 结构变化的类型1.2.1 水平变化1.2.2 方差变化1.3 变点检测1.3.1 离线数据检测方法1.3.2 实时数据检测方法2 模拟数据2.1 模拟恒定方差数据2.2 模拟变化方差数据3 实时数据CPD3.1 SDAR学习算法3.2 Changefinder模块3.3 恒定方差CPD3…

厦门凯酷全科技有限公司正规吗?

在这个短视频风起云涌的时代&#xff0c;抖音作为电商领域的黑马&#xff0c;正以惊人的速度改变着消费者的购物习惯与品牌的市场策略。在这场变革中&#xff0c;厦门凯酷全科技有限公司凭借其专业的抖音电商服务&#xff0c;在众多服务商中脱颖而出&#xff0c;成为众多品牌信…

tensorflow案例6--基于VGG16的猫狗识别(准确率99.8%+),以及tqdm、train_on_batch的简介

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 本次还是学习API和如何搭建神经网络为主&#xff0c;这一次用VGG16去对猫狗分类&#xff0c;效果还是很好的&#xff0c;达到了99.8% 文章目录 1、tqdm…

AI大模型(二):AI编程实践

一、软件安装 1. 安装 Visual Studio Code VSCode官方下载&#xff1a;Visual Studio Code - Code Editing. Redefined 根据自己的电脑系统选择相应的版本下载 安装完成&#xff01; 2. 安装Tongyi Lingma 打开VSCode&#xff0c;点击左侧菜单栏【extensions】&#xff0c;…

Python实现PSO粒子群优化算法优化CNN-Transformer回归模型(优化权重和阈值)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 本项目旨在利用粒子群优化&#xff08;PSO&#xff09;算法优化卷积神经网络&#xff08;CNN&…

<tauri><websocket>tauri集成web端使用websocket实现数据通讯

前言 本文是在websocket实现通讯的基础上,将前端项目集成到tauri中,以实现桌面窗口程序。 效果展示: 环境配置 系统:windows 平台:visual studio code 语言:javascript、html、rust 库:tauri、nodejs 概述 此前,我的想法是实现网页端与PLC进行socket通讯,利用webs…

Python学习从0到1 day29 Python 高阶技巧 ⑦ 正则表达式

目录 一、正则表达式 二、正则表达式的三个基础方法 1.match 从头匹配 2.search&#xff08;匹配规则&#xff0c;被匹配字符串&#xff09; 3.findall&#xff08;匹配规则&#xff0c;被匹配字符串&#xff09; 三、元字符匹配 单字符匹配&#xff1a; 注&#xff1a; 示例&a…

【鸣潮,原神PC端启动器】仿二次元手游PC端游戏启动器,以鸣潮为例。

二游GAMELauncher启动器 1.前言 许多二次元手游&#xff08;原神&#xff0c;鸣潮&#xff0c;少女前线&#xff09;的PC端启动器都是使用Qt做的&#xff0c;正好最近正在玩鸣潮&#xff0c;心血来潮&#xff0c;便仿鸣潮启动器&#xff0c;从头写一个。先下载一个官方版的PC启…

STM32单片机CAN总线汽车线路通断检测

目录 目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 1.电路图采用Altium Designer进行设计&#xff1a; 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 随着汽车电子技术的不断发展&#xff0c;车辆通信接口在汽车电子控…

H.265流媒体播放器EasyPlayer.js播放器出现加载视频等待画面时长过长的原因排查

在数字媒体时代&#xff0c;用户体验是衡量播放器性能的关键指标之一。EasyPlayer.js网页web无插件播放器作为一款流行的Web视频播放器&#xff0c;其加载速度和响应时间直接影响着用户的观看体验。 1、问题描述 加载视频等待画面时长过长。 2、可能的原因&#xff1a; 检查下…

联想“喜新厌旧”

科技新知 原创作者丨萧维 编辑丨蕨影 十月份&#xff0c;联想很忙。 先是2024联想科技创新大会15日在美国华盛顿州西雅图举行&#xff0c;联想大秀了一下自己在人工智能领域的创新产品、技术和解决方案&#xff0c;英特尔、AMD、英伟达三巨头更同时为其站台&#xff1b;后是与…

fpga 同步fifo

FIFO 基础知识 FIFO&#xff08;First In First Out&#xff0c;即先入先出&#xff09;&#xff0c;是一种数据缓存器&#xff0c;用来实现数据先入先出 的读写方式。在 FPGA 或者 ASIC 中使用到的 FIFO 一般指的是对数据的存储具有先入先出 特性的缓存器&#xff0c;常被用于…

Spark:大数据处理的强大引擎

一、Spark 简介 Apache Spark 是一个专为大规模数据处理而设计的快速、通用、可扩展的大数据分析计算引擎。它诞生于 2009 年&#xff0c;由美国加州伯克利大学的 AMP 实验室开发&#xff0c;2013 年被纳入 Apache 开源项目&#xff0c;并迅速成为顶级项目。 Spark 被认为是 …

常用在汽车PKE无钥匙进入系统的高度集成SOC芯片:CSM2433

CSM2433是一款集成2.4GHz频段发射器、125KHz接收器和8位RISC&#xff08;精简指令集&#xff09;MCU的SOC芯片&#xff0c;用在汽车PKE无钥匙进入系统里。 什么是汽车PKE无钥匙进入系统&#xff1f; 无钥匙进入系统具有无钥匙进入并且启动的功能&#xff0c;英文名称是PKE&…

hive 统计各项目下排名前5的问题种类

实现指定某项目下的数据效果图如下所示&#xff1a; 其中 ABCDE 为前5名的问题种类&#xff0c;其中A问题有124个&#xff08;出现了124次&#xff09; 数据说明&#xff1a; 整个数据集 包含很多项目一个项目 包含很多问题一个问题 选项 可认为是 类别值&#xff0c;所有出…

在 Windows 上搭建 FTP 服务器

&#xff08;1&#xff09;搭建 FTP 服务器 &#xff0c;为 windows 开启 ftp功能 &#xff1a;控制面板 -- 》 程序和功能 -- 》 打开或关闭 windows 功能 &#xff0c;勾选 web 管理工具下所有选项 &#xff0c;如下图所示&#xff1a; &#xff08;2&#xff09;添加 FTP 站…

AI开发-计算机视觉库-OpenCV

1 需求 官网&#xff1a;OpenCV - Open Computer Vision Library 2 接口 3 示例 import cv2image cv2.imread("./data/train/1_1.jpg") print(type(image)) 4 参考资料

STM32 ADC --- DMA采样

STM32 ADC — DMA采样 文章目录 STM32 ADC --- DMA采样cubeMX配置重要 &#xff1a;cubeMX配置使用DMA时的一个问题 代码编写一维数组接收数据二维数组接收数据 使用cubeMX生成HAL工程 cubeMX配置 上面红框中选择配置为连续转换模式&#xff0c;即通过HAL_ADC_Start_DMA()函数…

【WPF】Prism学习(二)

Prism Commands 1.命令&#xff08;Commanding&#xff09; 1.1. ViewModel的作用&#xff1a; ViewModel不仅提供在视图中显示或编辑的数据&#xff0c;还可能定义一个或多个用户可以执行的动作或操作。这些用户可以通过用户界面&#xff08;UI&#xff09;执行的动作或操作…

两部手机的IP地址:是否会相同?全面探讨

在数字化时代&#xff0c;手机已成为我们生活中不可或缺的一部分&#xff0c;而IP地址作为手机连接互联网的重要标识&#xff0c;扮演着举足轻重的角色。许多用户可能会好奇&#xff0c;两部手机在连接网络时&#xff0c;它们的IP地址是否会相同&#xff1f;这个问题看似简单&a…