javascript - 在javascript中重置倒计时

标签 javascript jquery

我想在用户每次在输入运行重置倒计时中键入后,我添加 clearTimeout 但它不起作用。我该怎么办? (请帮助我编写代码,我不需要新代码。)

演示: http://jsfiddle.net/qySNq/

HTML:

<input id="MizMah">
<div id="Seconds" style="font-size: 80px;">5</div>​


js代码:

$('#MizMah').live('keyup', function () {
    function render(n) {
        var digits = [],
            r;
        do {
            r = n % 10;
            n = (n - r) / 10;
            digits.unshift([r].join(''));
        } while (n > 0);
        $('#Seconds').html(digits.join(''));
    }

    (function timer(current) {
        render(current);
        if (current > 0) {
            myTimeout = setTimeout(function () {
                timer(current - 1);
            }, 1100);
            clearTimeout(myTimeout);
        }
    }(5));
})​

最佳答案

您在设置超时后立即清除它。试试这个:

var myTimeout = null;

$('#MizMah').live('keyup', function () {
    function render(n) {
        var digits = [],
            r;
        do {
            r = n % 10;
            n = (n - r) / 10;
            digits.unshift([r].join(''));
        } while (n > 0);
        $('#Seconds').html(digits.join(''));
    }

    (function timer(current) {
        render(current);
        if (current > 0) {
            clearTimeout(myTimeout);
            myTimeout = setTimeout(function () {
                timer(current - 1);
            }, 1100);
        }
    }(5));

})

关于javascript - 在javascript中重置倒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272058/

相关文章:

javascript - 如何获取对象值和 id 作为选择框的选项使用 javascript 或 jquery

javascript - Highcharts : Change opacity of a column chart

javascript - 是否有适用于元素的 'content' 规则的等效项?

javascript - 如何创建动画motion img

javascript - 克隆后无法更改下拉列表的 ID

javascript - 带确认的 Jquery 模式在用户确认之前提交

javascript - three.js:在添加到对象加载器加载的对象的着色器 Material 中使用纹理

jquery - 如何获取当前选择器之后的元素

javascript - 搜索字符串中的值,然后更新字符串

jQuery 选项卡分页问题