如何让代码间歇式(延时)执行?
程序语言:asp或php后台想做个全部生成静态页面的功能,我想让程序生成一个页面后停止几秒钟再往下执行另外一个页面的生成
asp写的邮件群发功能,让邮件发了一封后停止几秒后再发下一封;
以上的间歇式停顿执行要如何实现?
用JS的setTimeout具体怎么写呢?
答案:给你个例子:
<script language="javascript">
function text(){
this.aa="aaaa";
this.aa="adfadf";
window.obj = this;
this.showMsg=msg;
function msg(){
alert(obj.aa);
setTimeout("obj.showMsg()",1000);
}
}
var text1=new text;
text1.showMsg(text1);
</script>
其实出现这个错误是系统运行setTimeout("msg()",1000); 后,过了一秒钟会执行msg()这一条语句.很明显你没有msg函数,所以出错.解决的方法是调用类的方法而不是直接使用msg(),这样系统会找不到对象.
但如果将setTimeout("msg()",1000); 写成setTimeout("this.msg()",1000);也会出错.因为执行this.msg()时,系统不会把this当作你初始化的类,而是把它当作window这个对象.很显然,你没有访问到text1.
为了解决这个问题,我把obj属性加入到windows,obj的值就指向text1,我觉得这一句不错,至少移植性很好.之后就直接用obj访问你的类了.
上一个:关于代码的问题
下一个:怎么用风声无组件上传格式为.swf的文件。