页面

2009年3月10日

利用setTimeout()函数实现函数代码的延迟执行

利用setTimeout()函数实现函数代码的延迟执行在有些情况下,我们可能希望程序中的一部分代码先执行,然后停留n秒后再执行其他程序代码,但js对顺序写入的内容会一次执行完毕,即使使用一个大循环(如while(i<100000))也会很快执行完,而且也无法精确控制时间,因为循环的执行速度是依赖于用户的cpu的,因此我们必须利用时钟来设置,再js里有一个函数setTimeout函数,用于设定超时多长时间执行指定的代码。

如setTimeout("a()",1000),指1秒钟后执行函数a(), 利用setTimeout函数我们可以很轻松的完成上面的问题,我们可以把a()钟要延迟执行的代码写入一个函数如b1()钟,然后原函数末尾写上setTimeout("b1()",3000),则b1()函数中的程序灰再3秒钟后执行。这样就实现了延迟执行制定代码的功能。

测试代码:
< id ="a">< / div>
< type ="text/javascript"> function a(){document.getElementById( " a " ).innerHTML = " aaa " ;document.getElementById( " a " ).innerHTML += " wait 6 seconds later " ;setTimeout( " b() " , 6000 );}function b(){ document.getElementById( " a " ).innerHTML += " ccccc " ;}a();< / script >

---------------------------------------------
setTimeout("alert('test')",5000); //5秒后弹出对话框
setInterval("alert('test')",5000); //每隔5秒弹出对话框

没有评论: