定时器是根据设定的时间间隔来循环执行程序,只要定时器不停止程序就会一直执行
setInterval(参数1,参数2)
参数1:要执行的程序必须是一个函数的形式function(){ 定义程序 }
参数2:执行程序的间隔时间单位是毫秒。时间间隔不能无限小,与计算机的刷新频率有关。一般最少定义0.1秒,也就是100毫秒
// 将定时器,存储在一个变量中
var shuai1 = setInterval( function(){
document.write('我怎么这么帅' + '<br>');
} , 1000);
var shuai2 = setInterval( function(){
document.write('帅的突破天际' + '<br>');
} , 1000);
要终止定时器的执行,需要有两个条件
①使用一个变量来存储定时器
②使用清除定时器方法参数是这个定时器的变量
如果程序中有多个定时器,清除哪个,就停止哪个。即使写多个参数,也只对第一个参数清除定时器
var shuai1 = setInterval( function(){
document.write('我怎么这么帅' + '<br>');
} , 1000);
var shuai2 = setInterval( function(){
document.write('帅的突破天际' + '<br>');
} , 1000);
clearInterval(shuai1);//清除了名为shuai1的定时器
如何做到先让定时器运行一段时间,再停止定时器?
// 定义一个变量,存储执行次数。达到指定的执行次数时,清除定时器
var a = 0;
var shuai3 = setInterval( function(){
document.write('如果好看犯了天条,那我早已罪恶滔天' + '<br>');
a++;// 每次执行,变量自增
if(a == 5){//执行5次后,清除定时器,终止程序的执行
clearInterval(shuai3);
}
} , 1000);
console.log(shuai3);
通过实例可以看到,定时器程序的第一次执行也要经过设定的间隔时间,并不能从一开始就执行。如何解决这个问题呢?
document.write('如果帅气需要缴税,那我早已倾家荡产'+'<br>');
// 第一次向页面输出内容,是在间隔规定的3秒之后
setInterval( function(){
document.write('如果帅气需要缴税,那我早已倾家荡产'+'<br>');
} , 3000 )
延时器是按照设定的时间延迟程序的执行,延时器中的程序只能执行一次
可以简单的理解为定时炸弹到了指定的时间就会爆炸,并且只能爆炸一次
setTimeout(参数1,参数2);
参数1:和定时器一样也是函数形式,来定义要执行的程序内容
参数2:定义延迟时间,单位也是毫秒
setInterval(function(){document.write('万事皆允'+'<br>')} , 1000);
//延时3秒钟之后,执行间隔为1秒程序
var yanshi = setTimeout( function(){
setInterval(function(){document.write('万物皆虚')} , 1000);
} , 3000 )
document.write(yanshi);