在有些情况下,我们可能希望程序中的一部分代码先执行,然后停留n秒后再执行其他程序代码,但js对顺序写入的内容会一次执行完毕,即使使用一个大循环(如while(i<100000))也会很快执行完,而且也无法精确控制时间,因为循环的执行速度是依赖于用户的cpu的,因此我们必须利用时钟来设置,再js里有一个函数setTimeout函数,用于设定超时多长时间执行指定的代码。如setTimeout("a()",1000),指1秒钟后执行函数a(),
利用setTimeout函数我们可以很轻松的完成上面的问题,我们可以把a()钟要延迟执行的代码写入一个函数如b1()钟,然后原函数末尾写上setTimeout("b1()",3000),则b1()函数中的程序灰再3秒钟后执行。这样就实现了延迟执行制定代码的功能。
测试代码:
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" xml:lang ="en" lang ="en" >
< head >
< title ></ title >
</ head >
< body >
< div id ="a" ></ div >
< script 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 >
</ body >
</ html >
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" xml:lang ="en" lang ="en" >
< head >
< title ></ title >
</ head >
< body >
< div id ="a" ></ div >
< script 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 >
</ body >
</ html >