setInterval无法正常工作

时间:2014-10-13 21:38:21

标签: javascript jquery timer setinterval

我试图获取它,以便每隔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!!!");
}

3 个答案:

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