我想做的是(在JavaScript& html中):
如果在打开页面5分钟后,用户没有点击页面上的特定按钮,我希望系统显示警告以提醒用户单击按钮。如果用户在警报后仍然没有点击按钮,则警告将在另外5分钟后再次显示。但是,一旦用户单击该按钮,警报将不再显示。
任何帮助将不胜感激!
答案 0 :(得分:2)
正如你所说:
目前我只有:var timer; function setTimer(){timer = setTimeout(" alert('你需要点击提交!!')",5000000); }
如果点击了按钮,您只需要clearInterval()
您的计时器。如果没有,它会在给定时间后自动反复显示警报。
修改强> 在这种情况下,您的警报功能也看起来像这样:
var timer;
function setTimer() {
timer = setInterval(function()
{
alert('You need to click submit!!');
}, 5000000);
}
答案 1 :(得分:0)
1-您可以设置变量action = false
2- setInterval在5分钟后检查变量动作,如果错误则显示警告
2.1 - 如果警告显示第二次重启setInterval
3-捕获文档上的click事件以将变量操作设置为true
$(document).ready(function()
{
var action = 0;
checkAction();
var interval;
function checkAction()
{
interval = setInterval(function()
{
if(action == 1)
{
action = 2;
alert("second warning");
}
if(action == 0)
{
alert("first warning");
action = 1;
clearInterval(interval);
checkAction();
}
},5000);
}
$('body').click(function()
{
action == 2;
});
});
这样的事情对你有用我认为,如果点击页面完成,这将在5秒后检查
action = 0
--- noclicks
action = 1
--- noclicks第一次发出警告
action = 2
---用户点击了
答案 2 :(得分:0)
您可以使用setTimeout
。只需提及时间(以毫秒为单位),并在按下任何键或移动鼠标时重置计时器。例如:
Fiddle Demo
var ideal;
document.onmousemove = resetTimer;
document.onkeypress = resetTimer;
function showmsg() {
alert("Click on submit button");
}
function resetTimer() {
clearTimeout(ideal);
ideal = setTimeout(showmsg, 3000);
}
window.onload = resetTimer;
并在按钮中添加一个事件以清除Timeout。像:
document.getElementById("myBtn").onclick = function() {
document.onmousemove = function() {
return false
}
document.onkeypress = function() {
return false
}
clearTimeout(ideal);
}