timei2=0;
function timevalue2(s){//s为停止的时间
if ( timei2++<s){
setTimeout("timevalue2("+s+");",1000);
}
else{
//延时S秒后执行的语句
}
}
function timevalue2(s){//s为停止的时间
if ( timei2++<s){
setTimeout("timevalue2("+s+");",1000);
}
else{
//延时S秒后执行的语句
}
}
一句就行了.
有没有办法让
function a(p){
abc.innerHTML="1";
//暂停5秒钟但不跳出当前函数
...
abc.innerHTML="2";
}如果跳出了函数。则整个调用堆栈已经发生改变了。不再是原来的上下文。
比如:
function delayedExecution(s){
function processSomething(){
alert(0);
}
setTimeout("processSomething()", 2000);
}
这段代码就会出错。
因为processSomething是在window的上下文中调用的 而非delayedExecution的上下文
function a(p,s){
if abc.innerHTML!="1"
abc.innerHTML="1";
if ( timei2++<s){
setTimeout("a("+s+");",1000);
}
else{
//延时S秒后执行的语句//暂停5秒钟但不跳出当前函数
...
abc.innerHTML="2";
}
}
timei2=0;
function a(p,s){
if abc.innerHTML!="1"
abc.innerHTML="1";
if ( timei2++<s){
setTimeout("a("+p+","+s+");",1000);
}
else{
//延时S秒后执行的语句//暂停5秒钟但不跳出当前函数
...
abc.innerHTML="2";
}
}
function a()
{
setTimout("pause()",5000);
function pause()
{
}
abc.innerHTML="2";
}