前几天学了js,看到了两个非常有趣的函数,他们分别是setTimeout函数和setInterval函数,这两个函数能使网页呈现非常一些网页中比较常见的效果,比如说图片轮播,等一些非常好玩的效果。下面就来一起来了解这两个函数吧!
一setTimeout函数和setInterval函数的语法以及应用
1.setTimeout函数
定义和用法:setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。
语法:setTimeout(code,millisec);
参数:
code (必需):要调用的函数后要执行的 JavaScript 代码串。
millisec(必需):在执行代码前需等待的毫秒数。
提示:
setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
返回值
一个可以传递给 Window.clearTimeout() 从而取消对 code 的周期性执行的值。
既然setTimeout是一个定时器函数,那么就有一个一个函数来清理定时器,那我们就用到了clearTimeout函数。
clearTimeout(setTimeout()返回的ID值);
2.setInterval定义
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
语法
setInterval(code,millisec[,"lang"]);
参数code必需。要调用的函数或要执行的代码串。
millisec必须。周期性执行或调用 code 之间的时间间隔,以毫秒计
返回值
一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
既然setTimeout是一个定时器函数,那么就有一个一个函数来清理定时器,那我们就用到了clearInterval()函数。
clearInterval()(setInterval()返回的ID值);
二.案例:
倒计时效果
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>倒计时效果</title> <script type="text/ecmascript"> //使用js方式实现倒计时效果 var t1; window.onload = function () { //01定位到开始按钮返回一个dom对象 var btns = document.getElementById('btnStart'); //02.给开始按钮注册单击事件 btns.onclick = function () { //执行ssetInerval函数第一个参数要定时执行的函数,第二个参数该函数每个多少毫秒执行一次 t1= setInterval(start, 1000); } //03定位到停止按钮返回一个dom对象 var btnst = document.getElementById('btnStop'); btnst.onclick = function () { clearInterval(t1); } } //要隔1秒执行的函数 function start() { //01.获取div中的文本赋值给一个变量 var divdom = document.getElementById('msg'); var divnum = divdom.innerText; //判断divnum的值是否为0 if (divnum > 0) { divnum--; //把减过的值重新赋值给divnum divdom.innerText = divnum; } } </script> </head> <body> <input type="button" id="btnStart" value="开始" /> <input type="button" id="btnStop" value="停止" /><br /> <div id="msg">10</div> </body> </html>
背景图片切换:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="text/javascript"> var count = 1;//定义初始变量默认为第一张图片 window.onload = function () { //使用定时器函数每隔一秒定义执行一次show函数 setInterval(show,1000); } //要执行的函数 function show() { //如果图片到达最后一张(5张),就将下一张显示的图片改为第一张,如果没有到达最后一张就将显示下一张图片 if (count > 5) { count = 1; } else { count++; } //获取id为myimg的dom对象 var dom = document.getElementById("myimg"); //改变img标签的src属性指向,改变图片 dom.src = "image/"+count+".jpg" } </script> </head> <body> <img src="/UploadFiles/2021-04-02/1.jpg">点名器
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="text/javascript"> //定义一个数组保存该点名器中的基本数据 var data = ['张三', '李四', '王二', '小陈', '小张']; var i = 0;//声明一个初始变量默认让第一个人显示在页面上 var t1; window.onload = function () { //02.获取开始点名按钮的dom对象给该对象注册单击事件 var dom = document.getElementById("mybtn"); dom.onclick = function () { //使用setInterval函数隔500毫秒调用一次result函数 t1 = setInterval(start, 500); //该方法隔6秒他只调用一次 setTimeout(stop,6000); } //定义一个匿名函数把他赋值给一个变量result var start= function() { //03获取h1标签对象,给h1标签的文本赋值 var domh = document.getElementById("myh1"); domh.innerText = data[i % data.length];//替换已存在,元素值 i++; } //调用匿名函数 start(); var stop = function () { //清除定时器 clearInterval(t1); //弹出提示框点到的同学请作答 alert("请" + document.getElementById("myh1").innerText+"同学作答"); } } </script> </head> <body> <h1 id="myh1"></h1> <button id="mybtn"> 开始点名</button> </body> </html>通过上面的几个案例,我相信大家一点对这两个函数应该不陌生了。
以上这篇深入理解setTimeout函数和setInterval函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 黄乙玲1993-受伤的心·冷暖人生[台湾首版][WAV+CUE]
- (G)I-DLE《I SWAY》[FLAC/分轨][150.46MB]
- FTISLAND《Serious》[320K/MP3][82.33MB]
- FTISLAND《Serious》[FLAC/分轨][476.5MB]
- 曾庆瑜1988-你听一听[清优][WAV+CUE]
- Bach,Vieuxtemps,Gruenberg-ViolinConcertos-Heifetz(2012)FLAC
- ConcertoScirocco-SirensSoldiers.SongswithoutWordsfromtheItalianSeicento(2024)[24
- NCT 127《WALK - The 6th Album》[320K/MP3][76.57MB]
- NCT 127《WALK - The 6th Album》[FLAC/分轨][432.81MB]
- Weeekly《Bliss》[320K/MP3][36.2MB]
- TIS《三国志V》原音母盘[24-96][WAV+分轨]
- 林翠萍.1988-绵绵细雨的夜晚【艺歌】【WAV+CUE】
- 张帝《成名经典歌曲》【WAV】
- Weeekly《Bliss》[FLAC/分轨][215.35MB]
- 群星《当打之年》 HQII[WAV+CUE][640M]