首页 新闻 会员 周边

是否能提供一个JavaScript方法实现等待一定的时间?

0
悬赏园豆:5 [已解决问题] 解决于 2012-04-17 22:35

类似这样的

function wait(seconds){
    //code
}

调用时直接用

...
wait(10);
...

来实现等待10秒的功能,而不用调用 settimeout 或 setinterval

草根程序猿的主页 草根程序猿 | 初学一级 | 园豆:129
提问于:2012-04-17 11:49
< >
分享
最佳答案
0

这个是要运用回调函数的,你把需要延时处理的代码放到回调里面就可以解决;代码很简单,如下

function wait(callback,seconds){
    var timelag=null;//这里应该用if判断一下;可以扩展
    timelag=window.setTimeout(callback,seconds);
}
wait(function(){
        alert(1);//这里放入需要等待处理的代码...
    },2000);
收获园豆:5
人 在 旅 途 | 菜鸟二级 |园豆:315 | 2012-04-17 17:19
其他回答(2)
0

据我所知不能,因为javascript不能阻塞当前线程(除非你用弹出alert或者confirm的形式),只能用settimeout一类的方法去回调。

水牛刀刀 | 园豆:6350 (大侠五级) | 2012-04-17 11:55

不是说不能用 settimeout 或 setinterval,我的意思是在 wait方法中对 settimeout 或 setinterval 进行封装,在其他地方调用时直接用 wait就可以了

支持(0) 反对(0) 草根程序猿 | 园豆:129 (初学一级) | 2012-04-17 11:56
0

function pauseJS(timeInMilliS) {
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < timeInMilliS);
}

zsounder | 园豆:2819 (老鸟四级) | 2012-04-17 12:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册