警告提醒用户在设定的时间后点击按钮

时间:2016-02-02 10:03:24

标签: javascript html cordova timer

我想做的是(在JavaScript& html中):

如果在打开页面5分钟后,用户没有点击页面上的特定按钮,我希望系统显示警告以提醒用户单击按钮。如果用户在警报后仍然没有点击按钮,则警告将在另外5分钟后再次显示。但是,一旦用户单击该按钮,警报将不再显示。

任何帮助将不胜感激!

3 个答案:

答案 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);
}