【JavaScript定时器小案例】常见的几种定时器实现的案例
【JavaScript定时器小案例】常见的几种定时器实现的案例
博客说明
文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!
说明
在日常开发中定时器的使用还是挺多的,这里介绍几种比较常见的。
案例一:手机验证码倒计时
代码
<!DOCTYPE html>
<html>
<body>
<input type="button" value="获取验证码" onclick="settime(this)" />
<script>
// 发送验证码
var countdown = 60;
function settime(obj) {
if (countdown === 0) {
obj.removeAttribute("disabled");
obj.value="获取验证码";
countdown = 60;
return;
} else {
obj.setAttribute("disabled", true);
obj.value = "重新发送(" + countdown + ")";
countdown--;
}
setTimeout(function() {
settime(obj)
},1000)
}
</script>
</body>
</html>
效果


代码解析
使用setTimeout来模拟倒计时的效果,这其中有小许误差,不过可以在可接受的范围内。
案例二:日历时钟
代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简易时钟</title>
<style>
.time{
width: 300px;
height: 60px;
margin:0px auto;
line-height: 60px;
text-align: center;
color: red;
background-color: yellow;
}
</style>
</head>
<body>
<div id="time" class="time"></div>
</body>
<script>
setInterval(function(){
var d = new Date();
var time = document.getElementById('time');
//获取当前区域时间并转成字符串
time.innerHTML = d.toLocaleString();
},1000);
</script>
</html>
效果

代码解析
利用setInterval每间隔1秒获取一次当前时间
案例三:抽奖
代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>抽奖</title>
</head>
<body>
<input type="button" value="开始" onclick="start()" />
<input type="button" value="结束" onclick="end()" />
</body>
<div id="num_text">
</div>
<script>
var i = 1;
var t = Object;
function setNum() {
var res = document.getElementById('num_text')
res.innerHTML = i;
res.style.fontSize = '200px'
i++;
// 超过100重置
if(i === 100){
i = 1;
}
}
function start() {
t = setInterval(setNum, 10)
}
function end() {
t = clearInterval(t)
}
</script>
</html>
效果

代码解析
先让一个数开始快速循环,通过使用setInterval完成,当点击结束时,调用clearInterval清除定时器,达到定格的效果,具体循环内可以换成奖品数组或者其他的数据,也能够达到此类效果。
总结
选了三个比较有代表性的案例,pym也可以通过以上三个简单的案例扩充起来,达到锻炼JS的定时器的效果。比如日历时钟的那个,可以做成一个表盘,让时分秒进行转动。
如果点赞有50,就安排上!
感谢
万能的网络
公众号-归子莫,小程序-小归博客
【JavaScript定时器小案例】常见的几种定时器实现的案例的更多相关文章
- 动手学习TCP:4种定时器
上一篇中介绍了TCP数据传输中涉及的一些基本知识点.本文让我们看看TCP中的4种定时器. TCP定时器 对于每个TCP连接,TCP管理4个不同的定时器,下面看看对4种定时器的简单介绍. 重传定时器使用 ...
- JavaScript如何工作:垃圾回收机制 + 常见的4种内存泄漏
原文地址: How JavaScript works: memory management + how to handle 4 common memory leaks 本文永久链接:https://d ...
- 常见的七种Hadoop和Spark项目案例
常见的七种Hadoop和Spark项目案例 有一句古老的格言是这样说的,如果你向某人提供你的全部支持和金融支持去做一些不同的和创新的事情,他们最终却会做别人正在做的事情.如比较火爆的Hadoop.Sp ...
- 常见的几种JavaScript内存泄露
总结一下常见的几种JavaScript内存泄露: 1.意外的全局变量 全局变量属于window对象,所以只会随着window销毁才会销毁. 2.console.log() conaole.log()函 ...
- javascript两种定时器的使用及其清除
<!--示例代码如下:--><!DOCTYPE html> <html> <body> <p>A script on this page s ...
- Java常见的几种内存溢出及解决方法
Java常见的几种内存溢出及解决方法[情况一]:java.lang.OutOfMemoryError:Javaheapspace:这种是java堆内存不够,一个原因是真不够(如递归的层数太多等),另一 ...
- JS 跨域问题常见的五种解决方式
一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...
- 避免常见的6种HTML5错误用法
一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样 ...
- javascript学习-原生javascript的小特效(多物体运动效果)
前些日子看了个视频所以就模仿它的技术来为大家做出几个简单的JS小特效 今天为大家做的是多个物体的运动效果, 1:HTML <body> <ul> <li> ...
随机推荐
- 数据库语法整理及WAF绕过方式
关系型数据库 关系型数据库:指采用了关系模型来组织数据的数据库. 直白的说就是:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织 当今主流的关系型数据库有:Oracle,M ...
- FastAPI(43)- 基于 pytest + requests 进行单元测试
FastAPI 的单元测试 对于服务端来说,通常会对功能进行单元测试,也称白盒测试 FastAPI 集成了第三方库,让我们可以快捷的编写单元测试 FastAPI 的单元测试是基于 Pytest + R ...
- xshell 连接virtualbox nat模式的虚拟主机的方式
因为垃圾CSDN抽风无法收藏文章 所以保存了一片文章 https://blog.csdn.net/Trista_WU/article/details/79873310?utm_medium=distr ...
- Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Self-Supervised Contrastive Learning Method
论文阅读: Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Sel ...
- NX7.5 使用UF_MODL_create_proj_curves创建投影曲线
1 [DllImport("libufun.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet ...
- Bootstrap移动端导航(简易)
效果 在线查看 代码少,都在HTML里 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 8.5(337)——树形dp
将题目进行翻译,就是遍历二叉树算出最大权值,在遍历过程中,不能同时选择两个相连的节点. 第一种子问题的构造,是以爷爷--父亲--孙子的"三代"节点一同构造的,将最优子问题的结构定义 ...
- Spring Cloud Alibaba 介绍及工程准备
简介 SpringCloud Alibaba是阿里巴巴集团开源的一套微服务架构解决方案. 微服务架构是为了更好的分布式系统开发,将一个应用拆分成多个子应用,每一个服务都是可以独立运行的子工程.其中涵盖 ...
- 搬运2:早期写的探究printf
目录: 1. 关于printf格式化输出 2. printf的一般形式 3. 转换说明 4. 格式化输出的意义 5. 转换说明修饰符 6. 修饰符中的标记 7. printf的返回值 ps:共3250 ...
- NB-IoT的DRX、eDRX、PSM三个模式怎么用?通俗解释,看完就懂!
面我们讲了不少NB-IOT的应用.软件和硬件设计的变动. (链接在文章末尾). 今天讲讲NB-IoT的三大模式,在各种物联网和智能硬件场景中的使用方法 DRX.eDRx.PSM是什么? DRX虽然叫做 ...