我正在尝试使用setTimeout()
作为在JS中暂停一系列事件的方式
以下是我正在做的事情以及我想在评论中做些什么的示例 - http://jsfiddle.net/8m5Ww/2/
有关如何使用var timeRemaining
中剩余的总毫秒数填充var a
的任何建议吗?
答案 0 :(得分:24)
您无法直接获得剩余秒数。 您可以在创建计时器时将时间戳保存在变量中,并使用它来计算下次执行的时间。
<强>示例:强>
var startTimeMS = 0; // EPOCH Time of event count started
var timerId; // Current timer handler
var timerStep=5000; // Time beetwen calls
// This function starts the timer
function startTimer(){
startTimeMS = (new Date()).getTime();
timerId = setTimeout("eventRaised",timerStep);
}
// This function raises the event when the time has reached and
// Starts a new timer to execute the opeartio again in the defined time
function eventRaised(){
alert('WOP EVENT RAISED!');
clearTimer(timerId); // clear timer
startTimer(); // do again
}
// Gets the number of ms remaining to execute the eventRaised Function
function getRemainingTime(){
return timerStep - ( (new Date()).getTime() - startTimeMS );
}
答案 1 :(得分:4)
不可能,但如果您将单独的var的内容设置为您设置的时间,您可以轻松地手动识别它。