是否有可能在setTimeout
中捕获每秒的刻度。假设我需要在5秒后注销用户,并显示一条消息,比如div
,说“你将在5秒后退出”。然后是4,3,2,1并在timeOut
例如:
setTimeout(function(){
$("#myDiv").text("you will be logged out in " + n + " seconds");
//"n" being tick of each second.
},5000)
我在互联网上搜索了这个,但我无处可见。或者,对于这种情况,可以使用setInterval
完成的任何事情也是很好的一点。有什么想法或亮点吗?
答案 0 :(得分:4)
您可以将setInterval
与clearInterval
方法结合使用:
var n = 5;
var timeoutID = window.setInterval(function() {
// this callback will execute every second until we call
// the clearInterval method
$('#myDiv').text('you will be logged out in ' + n + ' seconds');
n--;
if (n === 0) {
// TODO: go ahead and really log the dude out
window.clearTimeout(timeoutID);
}
}, 1000);
答案 1 :(得分:0)
您可以拥有一个全局变量并使用它来显示勾选。如下所示
var counter = 5;
var timeInterval= setTimeout(function(){
$("#myDiv").text("you will be logged out in " + n + " seconds");
//"n" being tick of each second.
counter = counter - 1;
clearInterval(timeInterval) if(counter==0)
},1000)