日期:2014-05-16  浏览次数:20334 次

javascript 实现sleep方法

var sleepTimer;
var leftTime ; //睡眠剩余的时间
var sleepStep = 20 ; //每次睡眠时间默认20毫秒

backfunc 为睡眠完了要重新执行的方法, 一般是调用sleep方法的方法

何时调用sleep方法, 用一个全局变量进行线程通信.


function sleep(mill,backfunc)
{
?leftTime? =? mill;
?sleepTimer = setInterval(sleepCount,sleepStep, backfunc);
}
//sleep方法的执行方法
function sleepCount(backfunc)
{
?leftTime = leftTime -sleepStep;
?if(leftTime <0)
? {

?? ?clearInterval(sleepTimer);

??? backfunc();

?? }
}

?

因为使用了全局变量, 所以不能保证同一个页面多处sleep调用能正常使用

可以为每次调用创建一个frame, 把全局变量和方法都放到frame中.

再就是借助与服务器的通信来实现睡眠

?

?

以上所有未经实验...