【发布时间】:2015-04-08 11:00:38
【问题描述】:
我正在关注this example 的 PHP 会话计时器,它使用 AJAX 调用来检查“时间”。
我希望能够为用户显示某种类型的显示,它只是一个 JavaScript 倒数计时器,例如:
function startTimer(duration, display) {
var timer = duration, minutes, seconds;
setInterval(function () {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
if (--timer < 0) {
timer = duration;
}
}, 1000);
}
window.onload = function () {
var length = 60 * 5,
display = document.querySelector('#time');
startTimer(length, display);
};
但 var length 等于 php 文件中 $_SESSION['timeOut'] = SomeNumber; 指定的值。
如何将它们设置为完全同步并能够将倒计时输出到屏幕?还是我可以只利用 php 计时而不一定要创建一个 js 计时器?
【问题讨论】:
-
如果你想在页面本身上看到倒计时,那么你必须使用 JavaScript; PHP 无法做到这一点(除非你不断地重新加载页面,这将是相当无意义的)。然而,恰好 1000 毫秒的超时值不会那么可靠,尤其是在更长的时间段内——您最好使用 JavaScript
Date对象来获取实际的当前客户端时间,并计算与此之间的差异。
标签: javascript php ajax session timer