2016-12-04 44 views
0

我想让睡眠“定时器”功能,直到有人决定是否想要留下或离开我的网站后点击“退出”按钮,所以在后台时间被冻结。但是如果他决定留下来,定时器功能应该继续。我不知道该怎么做。任何人都可以帮我吗?感谢所有的建议。如何在确认框中决定睡眠功能

<!DOCTYPE html> 
<html> 
<body> 
<button onclick="exit();">exit</button> 
    <p id="seconds">30</p> 

    <script type="text/javascript"> 
     var clock; 



     function timer() { 
      clearInterval(clock); 
      var start = new Date().getTime(); 
      clock = setInterval(function() { 
       var seconds = Math.round(30 - (new Date().getTime() - start)/1000); 
       if (seconds >= 0) 
        document.getElementById('seconds').innerHTML = seconds; 
       else 
        clearInterval(clock); 



        if (seconds==0)  document.getElementById("fotka").innerHTML='<img src="mopsik.jpg"/>'; 




      }, 1000); 
     } 

     function exit(){ 

var result = confirm("Do you really want to leave this page?"); 
if (result == true) { 
window.location.href="www.something.com"; 
} 
else { 

} 
} 

     timer(); 
    </script> 
</body> 
</html> 
+0

'setInterval'每隔X次执行一次函数,您可以清除exit函数中的间隔,如果结果为false,则再次运行该函数。 –

回答

0

正好当用户点击退出时,清除间隔(意味着他不会再计算秒数),如果结果为false,则再次开始间隔。

var clock; 
var start; 

function StartTimer() { 
    if (clock) { 
    clearInterval(clock); 
    } 
    start = new Date().getTime(); 
    startInterval(); 
} 

function startInterval() { 

    clock = setInterval(function() { 
    var seconds = Math.round(30 - (new Date().getTime() - start)/1000); 

    if (seconds >= 0) { 
     document.getElementById('seconds').innerHTML = seconds; 
    } else{ 
     clearInterval(clock); 
    } 

    if (seconds==0) 
     document.getElementById("fotka").innerHTML='<img src="mopsik.jpg"/>'; 

    }, 1000); 

} 

function exit() { 

    clearInterval(clock); 
    var result = confirm("Do you really want to leave this page?"); 

    if (result == true) { 
    window.location.href="www.something.com"; 
    } else { 
    startInterval(); 
    } 
}