1、定时器又称为延迟器,会在某个时间以后执行指定的代码
语法:
Var timer=setTimeout(‘表达式’,’毫秒’);
表现在指定的毫秒数后执行前面的表达式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<script>
function display(){
alert('hello');
}
setTimeout('display()',3000);
</script>
</body>
</html>
2.分析setTimeout是停留在当前行还是继续执行?
<script>
function display(){
alert('hello');
}
setInterval('display()',3000);
alert('first');
</script>
经过上面代码分析,发现,先弹出“first”,说明定时器在执行时,没有停留,而是加载这行代码之后立即再去执行后面语句
当程序执行setTimeout方法时,会向系统内存中抛出一个定时器对象,然后当指定时间到达之后,这个定时器对象会自动执行指定语句,然后对象消失
3.如果需要反复执行某一个程序,还可以使用setInterval
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<script>
function display(){
alert('hello');
}
// setTimeOut('display()',3000);
setInterval('display()',3000);
</script>
</body>
</html>
经过测试,我们发现,setInterval会反复执行,setTimeout只执行一次
setTimeout语句执行时,会被反复编译
setInterval语句执行时,只会编译一次
4.清除定时器
动画执行时,如果想关闭动画的执行,可以调用clearTimeout来清除定时器对象
Var timer=setTimeout();
clearTimeout(timer);