浅谈setTimeout函数和setInterval函数
前几天学了js,看到了两个非常有趣的函数,他们分别是setTimeout函数和setInterval函数,这两个函数能使网页呈现非常一些网页中比较常见的效果,比如说图片轮播,等一些非常好玩的效果。下面就来一起来了解这两个函数吧!
一setTimeout函数和setInterval函数的语法以及应用
1.setTimeout函数
返回值
一个可以传递给 Window.clearTimeout() 从而取消对 code 的周期性执行的值。
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
语法
setInterval(code,millisec[,"lang"]);
参数code必需。要调用的函数或要执行的代码串。
millisec必须。周期性执行或调用 code 之间的时间间隔,以毫秒计
返回值
一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
<!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="data:image/1.jpg" alt="Alternate Text" width="200px" height="200px" id="myimg" />
</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 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函数的更多相关文章
- 什么是setTimeout函数和setInterval函数?
我们一般在浏览网页的时候,一般都会有图片轮播等,一些比较好玩的特效,接下来我就给大家讲讲这俩个函数! 一setTimeout函数和setInterval函数的语法以及应用 1.setTimeout函数 ...
- 浅谈JS中的高级函数
在JavaScript中,函数的功能十分强大.它们是第一类对象,也可以作为另一个对象的方法,还可以作为参数传入另一个函数,不仅如此,还能被一个函数返回!可以说,在JS中,函数无处不在,无所不能,堪比孙 ...
- 浅谈python中的闭包函数
闭包函数初探 通常我们定义函数都是这样定义的 def foo(): pass 其实在函数式编程中,函数里面还可以嵌套函数,如下面这样 def foo(): print("hello worl ...
- 浅谈ES6中的Async函数
转载地址:https://www.cnblogs.com/sghy/p/7987640.html 定义:Async函数是一个异步操作函数,本质上,Async函数是Generator函数的语法糖.asy ...
- setTimeOut函数和setInterval函数
setTimeout( )是设定一个指定等候时间 (单位是千分之一秒, millisecond), 时间到了, 浏览器就会执行一个指定的 method 或 function, 有以下语法: 今次例子是 ...
- 【C语言】浅谈可变参数与printf函数
一.何谓可变参数 int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用& ...
- 浅谈JS变量声明和函数声明提升
先来两个问题 很多时候,在直觉上,我们都会认为JS代码在执行时都是自上而下一行一行执行的,但是实际上,有一种情况会导致这个假设是错误的. a = 2; var a; console.log(a); 按 ...
- 浅谈C中操作字符串函数的用法(一)
按照内核string.h中函数的顺序进行大概的介绍,若干函数会给出一个简单的例子.有不足之处还希望各位看到的留言告知. 一.memcpy: 函数原型:extern void * memcpy(void ...
- 浅谈箭头函数和setTimeout中的this
箭头函数会改变this的指向,这个大家看文档都看到过,可是有没有具体理解呢?我发现自己应该可能大概是......emmmm,然后我整理了一遍,加强一下概念吧顺带再讲一下setTimeout这个函数改写 ...
随机推荐
- PRML读书会第三章 Linear Models for Regression(线性基函数模型、正则化方法、贝叶斯线性回归等)
主讲人 planktonli planktonli(1027753147) 18:58:12 大家好,我负责给大家讲讲 PRML的第3讲 linear regression的内容,请大家多多指教,群 ...
- 编译到底做了什么(***.c -> ***.o的过程)
(第一次写博客,好激动的说.......) 我们知道,一个程序由源代码到可执行文件往往由这几步构成: 预处理(Prepressing)-> 编译(Compilation)-> 汇编( ...
- 年前辞职-WCF入门学习(4)
前言 上一篇的学习中碰到一个问题,用地址http://localhost:8080/mex 访问元数据的时候一直提示400 bad request 错误,因为时间太晚了,查了好几遍代码,也没有发现问题 ...
- Objective-C Runtime(转)
博主地址: http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/ 曾经觉得Objc特别方便上手,面对着 Cocoa 中大量 API ...
- Daily Scrum – 1/6
Meeting Minutes 确认修复了一个bug,即变方的: 分配了以后的任务: 确认将速度写入了用户的设置文件 Burndown Progress part 组员 今日工作 Time ...
- beta版本项目冲刺
项目冲刺第一天 项目冲刺第二天 项目冲刺第三天 项目冲刺第四天 项目冲刺第五天 项目冲刺第六天 项目冲刺第七天
- [Windows 64] (搬运)价值¥ 6,499的软件Navicat Premium11.2.11 最新版及其注册机
Navicat Premium可以连接6种数据库并开发> 转载于:http://www.52pojie.cn/thread-529020-1-1.html
- 负margin一些奇葩的布局技巧
copy_from_ http://www.hicss.net/i-know-you-do-not-know-the-negative-margin/ <!doctype html> &l ...
- poj 3669 线段树成段更新+区间合并
添加 lsum[ ] , rsum[ ] , msum[ ] 来记录从左到右的区间,从右到左的区间和最大的区间: #include<stdio.h> #define lson l,m,rt ...
- Java 缓存技术
以下仅是对map对方式讨论.没有对点阵图阵讨论.作缓存要做以下2点: 1:清理及更新缓存时机的处理: . 虚拟机内存不足,清理缓存 .. 缓存时间超时,或访问次数超出, 启动线程更新 2:类和方法的 ...