2

我有一个简单的倒计时使用setinterval,我得到我的函数没有定义的错误。我正在使用按钮开始和停止间隔。任何想法为什么会发生这种情况?

Javascript

function startCount() {
    $(function() {
        var count = 10;
        countdown = setInterval(function() {
            $("p.countdown").html(count + " seconds remaining!");
            if (count === 0) {
                window.location = 'http://google.com';
            }
            count--;
        }, 1000);
    });
}



function startStop() {
    clearInterval(countdown);
}​

html

<p class="countdown"></p>
<button onclick="startCount()">Start</button>
<button onclick="startStop()">Stop</button>

演示 http://jsfiddle.net/54uQz/1/

4

1 回答 1

2

在函数外部声明您的倒计时变量startCount(),以便两个函数都可以看到它。目前它只存在于第一个,所以清除计时器没有任何作用。

代码:

var countdown;

function startCount() {
    var count = 10;
    countdown = setInterval(function() {
        $("p.countdown").html(count + " seconds remaining!");
        if (count === 0) {
            window.location = 'http://google.com';
        }
        count--;
    }, 1000);
}


function startStop() {
    clearInterval(countdown);
}

更新的小提琴示例!

于 2012-05-13T03:12:46.820 回答