类似这样的
function wait(seconds){
//code
}
调用时直接用
...
wait(10);
...
来实现等待10秒的功能,而不用调用 settimeout 或 setinterval
4 回答
Qyouu
TA贡献1786条经验 获得超11个赞
这个是要运用回调函数的,你把需要延时处理的代码放到回调里面就可以解决;代码很简单,如下
function wait(callback,seconds){ var timelag=null;//这里应该用if判断一下;可以扩展 timelag=window.setTimeout(callback,seconds); } wait(function(){ alert(1);//这里放入需要等待处理的代码... },2000);
侃侃无极
TA贡献2051条经验 获得超10个赞
据我所知不能,因为javascript不能阻塞当前线程(除非你用弹出alert或者confirm的形式),只能用settimeout一类的方法去回调。
偶然的你
TA贡献1841条经验 获得超3个赞
不是说不能用 settimeout 或 setinterval,我的意思是在 wait方法中对 settimeout 或 setinterval 进行封装,在其他地方调用时直接用 wait就可以了
绝地无双
TA贡献1946条经验 获得超4个赞
function pauseJS(timeInMilliS) {
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < timeInMilliS);
}
添加回答
举报
0/150
提交
取消