我正在尝试创建一个包含JavaScript计时器弹出窗口的
我认为我快要实现了,我已经创建了一个jsfiddle,其中包含了我的一些代码。
活动和不活动事件起作用(即弹出窗口和隐藏) - 我只是不知道如何让倒计时计时器出现在
div
,在2秒钟的不活动后,然后在再次活动时消失。我认为我快要实现了,我已经创建了一个jsfiddle,其中包含了我的一些代码。
活动和不活动事件起作用(即弹出窗口和隐藏) - 我只是不知道如何让倒计时计时器出现在
div
中。当计时器达到0时,最理想的情况是将窗口重定向到google.com。var div = document.createElement("div");
div.id = "timer";
div.style.display = "none";
div.style.width = "200px";
div.style.height = "200px";
div.style.background = "red";
div.style.color = "white";
div.style.position = "fixed";
div.style.top = "80%";
div.style.left = "50%";
document.body.appendChild(div);
var timeoutID;
var idleTimeout = 5;
var idleSecondsTimer = null;
var idleSecondsCounter = 0;
function setup() {
this.addEventListener("mousemove", resetTimer, false);
this.addEventListener("mousedown", resetTimer, false);
this.addEventListener("keypress", resetTimer, false);
this.addEventListener("DOMMouseScroll", resetTimer, false);
this.addEventListener("mousewheel", resetTimer, false);
this.addEventListener("touchmove", resetTimer, false);
this.addEventListener("MSPointerMove", resetTimer, false);
startTimer();
}
setup();
function startTimer() {
// wait 2 seconds before calling goInactive
timeoutID = window.setTimeout(goInactive, 2000);
}
function resetTimer(e) {
window.clearTimeout(timeoutID);
goActive();
}
function goInactive() {
div.style.display = "block";
div.innerHTML = "Inactivity detected. Redirecting in ..." + (idleTimeout - idleSecondsCounter) + " ...please touch screen to close this message";
// show a count down here then redirect to google.com
}
function goActive() {
div.style.display = "none";
startTimer();
}
我一直在跟随这个教程,它对我有很大的帮助。非常感谢任何帮助。