我试图获取它,以便每隔n秒弹出确认窗口,用户输入提示,但无论输入如何,都会立即弹出确认窗口。我做错了什么?
这是我的按钮的样子:
<button onclick="timer_prompt()">FUN</button>
我的简单功能:
function timer_prompt()
{
var seconds = prompt("Enter Time Interval In Seconds Please");
seconds = seconds*1000;
if(seconds>0)
{
setInterval(confirm_timer(), seconds);
}
else
{
alert("You entered invalid content");
}
}
function confirm_timer()
{
confirm("YOU HAVE SET A TIMER!!!");
}
答案 0 :(得分:6)
你正在打电话,而不是分配
setInterval(confirm_timer(), seconds);
需要
setInterval(confirm_timer, seconds);
答案 1 :(得分:1)
setInterval将函数作为其第一个参数,传递函数的返回值。从setInterval
中的confirm_timer中删除括号答案 2 :(得分:0)
为什么不尝试这种方式?
function timer_prompt() {
var seconds = prompt("Enter time interval in seconds please.");
seconds = seconds * 1000;
if(seconds > 0) {
callInterval(seconds);
} else {
alert("You entered invalid content");
}
}
function callInterval(seconds) {
setTimeout(function() {
confirm("You have set a timer!");
callInterval(seconds);
}, seconds);
}
timer_prompt();