【发布时间】:2019-04-15 12:06:53
【问题描述】:
我的 Quiz Web 应用程序有一个计时器,但每次用户转到下一个问题或刷新页面时计时器都会重置。
我试图将剩余时间保存到一个变量中,但我不知道。我是初学者,有些会有所帮助。
<span id="countdown" class="timer"></span>
<script>
var seconds = 15;
function secondPassed() {
var minutes = Math.round((seconds - 30)/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
document.getElementById('countdown').innerHTML = minutes + ":" + remainingSeconds;
if (seconds == 0) {
clearInterval(countdownTimer);
header("location:account.php?q=result&eid=5cb44b236f3b1");
} else {
seconds--;
}
}
var countdownTimer = setInterval('secondPassed()', 1000);
</script>
我希望每个页面或每次用户刷新页面时都使用相同的计时器。感谢您的宝贵时间!
【问题讨论】:
-
一个php脚本只运行一次并且不记得上次调用发生了什么。所以你需要以某种方式记住剩余的秒数——在 $_SESSION 变量中最简单。查看sessions 以了解如何实现它。 或 将它们保存在用户的浏览器中(作为 cookie,在 localStorage 中) - 但请注意,用户可以更改这些存储的值。 或当用户转到下一个问题时不要重新加载脚本->查看 ajax
标签: javascript php