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中.
再就是借助与服务器的通信来实现睡眠
?
?
以上所有未经实验...