Javascript里延迟函数

setTimeout()和clearTimeout()函数是一对控制页面定时触发时间的起始函数。

2.handle = setTimeout(statement, microime),的作用是设定每mircotime毫秒执行一次statement,并把返回一个句柄给handle,以便可以

用clearTimeout(handle)来结束计时

例子1:

<h3>//Javascript Wait Function Demo</h3>
<hr>
<input type="button" value="2秒后打开一个警告" id="redhacker">
<input type="button" value="停止" id="dgq">
<script>

var handle;
document.getElementById("redhacker").onclick = function(){handle = setTimeout("alert('你好,红色黑客!')",2000)};
document.getElementById("dgq").onclick = function(){clearTimeout(handle);};
</script>

例子2:先弹出11,2秒之后才弹出:你好,红色黑客!

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
function init(){
setTimeout("alert('你好,红色黑客!')",2000);
alert(11);
}

</script>
</HEAD>

<BODY onload="init()">

</BODY>
</HTML>

setInterval()和clearInterval()两个函数,和以上两个函数大同小异,区别在于前者用来定时要在将来某个时候执行一次的函数或者表达

式;而后者多用于要反复调用的函数和语句,他们之间只间隔一个固定的时间,这个时间过程中不是一个等待的过程,因为当延迟其作用时,

其它的处理过程并不挂起!所以用setInterval()来制作网页动画要更合理一些!他们的语法格式是:

a. setInterval ( function, interval [, arg1, arg2, …, argn] );//直接调用
b. setInterval ( object, "methodName", interval [, arg1, arg2, …, argn] ); //间接引用

例子1:

<h3>//Javascript Wait Function Demo</h3>
<hr>
<input type="button" value="10" id="redhacker" style="width:50">
<input type="button" value="停止" id="dgq" style="width:50">
<script>
//直接调用函数的示例
var alertFun = function(){
var n = document.getElementById("redhacker").value;
document.getElementById("redhacker").value = n-1;
}
handle = setInterval(alertFun,1000);
document.getElementById("dgq").onclick = function(){clearInterval(handle);alert("倒记时已停止")}
</script>

你可能感兴趣的:(JavaScript)