停止并重置 Harvest 的滴答计数器 jQuery 插件

Stop and Reset Harvest's Tick Counter jQuery Plugin

有人知道如何停止和重置 Harvest's Tick 计数器 jQuery 插件吗?我想停止特定号码的计数器并重置为主要启动号码。

你可以查看我的代码here

HTML 标记:

<span class="tick tick-flip tick-promo">5,000</span>

jQuery逻辑:

<script type="text/javascript">
$(document).ready(function () {
    startCounter();
});

function startCounter() {
    $('.tick').ticker({
        delay: 1000,
        incremental: 1,
        separators: true
    });
}

var myCounter = setInterval(function resetCounter() {
    var lsCurrentTick = $('.tick').find('.tick-new').text();

    if (lsCurrentTick > 5010) {
        $.fn.ticker.stop();
    }
}, 1000);

</script>

我不得不read the code to figure this out. Here is a DEMO

$(startCounter);

function startCounter() {
    var tickObj = $('.tick').ticker({
        delay: 1000,
        incremental: 1,
        separators: true
    })[0];
    setInterval(function () {
        if (tickObj.value >= 5002) {
            tickObj.stop();
            tickObj.value = 5000;
            tickObj.start();
        }
    }, 1000);
}

如果你够勇敢,你可以搞砸 Tick.prototype.tick DEMO

function startCounter() {
    var tickObj = $('.tick').ticker({
        delay: 1000,
        incremental: 1,
        separators: true
    })[0];
    tickObj.tick = (function (tick) {
        return function () {
            var ret = tick.call(tickObj);
            if (tickObj.value > 5002) {
                tickObj.stop();
                tickObj.value = 5000;
                tickObj.start();
            }
            return ret;
        };
    }(tickObj.tick));
}

参考代码并重置你必须做的事情

ticker[0].stop();
ticker[0].value = 5000;
ticker[0].start();

完整示例

$(document).ready(function () {
    var ticker;
    startCounter();
});

function startCounter() {
    ticker = $('.tick').ticker({
        delay: 1000,
        incremental: 1,
        separators: true,
    });
}
var myCounter = setInterval(function resetCounter() {
    var lsCurrentTick = $('.tick').find('.tick-new').text();

    if (lsCurrentTick > 5003) {
        reset();
    }
}, 1000);
function stop(){
    ticker[0].stop();
}
function reset(){
    ticker[0].stop();
    ticker[0].value = 5000;
    ticker[0].start();
}

这是一个demo