【发布时间】:2016-12-16 15:52:54
【问题描述】:
我正在创建一个示例应用程序,用户注销时间为 15 分钟。 在 2 分钟之前,用户会收到带有倒计时的警告消息的弹出消息。 有两个按钮。
- 注销 => 用于注销。
- StayLogin => 获得额外 15 分钟进入应用程序的时间。
第一次,当用户达到 13 分钟时,获取弹出窗口。
因此,当单击继续按钮时,会添加注销时间。
问题:
柜台的问题。如果计数器达到 0 秒 0 分钟,它会重定向到登录页面。
在计数器之间,用户单击,又增加了 15 分钟,但计时器达到 0 秒并转到登录页面。
function countdown(minutes) {
var seconds = 60;
var mins = minutes
function tick() {
var counter = document.getElementById("timer");
var current_minutes = mins - 1
seconds--;
counter.innerHTML =
current_minutes.toString() + ":" + (seconds < 10 ? "0" : "") + String(seconds);
if (seconds === 0) {
$state.go("root"); // problem
}
if (seconds > 0) {
setTimeout(tick, 1000);
} else {
if (mins > 1) {
alert('minutes');
// countdown(mins-1); never reach “00″ issue solved:Contributed by Victor Streithorst
setTimeout(function() {
countdown(mins - 1);
}, 1000);
}
}
}
tick();
}
countdown(1); * *
// staylogin
$rootScope.proceed = function() {
var lastDigestRun = Date.now();
var s = lastDigestRun + 3 * 60 * 1000;
var displaytime = now - lastDigestRun > 3 * 60 * 1000;
if (now - lastDigestRun > 2 * 60 * 1000) {
clearTimeout(tick);
load();
}
}
点击stayLogin按钮时如何停止计数器?
【问题讨论】:
-
@Dekel 我已经设置了 ClearTimeout,为按钮调用中的某个函数返回 false 无效,在后台计数器正在运行。
-
你做了,但你没有正确使用它:) 检查其他帖子
-
@Dekel 谢谢,倒计时问题已经结束,但是又出现了一个问题。寻找你的答案。link
标签: javascript jquery angularjs javascript-objects dom-events