【问题标题】:Getting FlipClock.js to stop after counting up to a number数到一个数字后让 FlipClock.js 停止
【发布时间】:2014-07-30 13:59:29
【问题描述】:

我无法让 FlipClock.js 在达到特定计数后停止。我曾尝试使用“clock.stop();”调用,但即使在多次尝试设置“停止”号码后它也不起作用。这是我拥有的适用于我的计数器的代码:

<script type="text/javascript">
    var clock;

    $(document).ready(function() {

        // Instantiate a counter
        clock = new FlipClock($('.clock'), {
            clockFace: 'Counter',
            minimumDigits: 4,
        });

        setTimeout(function() {
            setInterval(function() {
            clock.increment();
        }, 0.1);        
        });             
    });
</script>

关于如何将我的计数器设置为停止在“300”的任何想法?非常感谢任何帮助!

【问题讨论】:

    标签: javascript flipclock


    【解决方案1】:

    编辑:未调用 FlipClock 回调

    FlipClock 回调中似乎存在错误。

    这是一个替代解决方案(您似乎有很多额外的代码,不知道为什么,这是一个精简版):

        var clock,countup;
        clock = new FlipClock($('h1'), {
            clockFace: 'Counter',
            minimumDigits: 4
        });
    
    
        countup = setInterval(function() { 
         if(clock.getTime().time > 300) {
           clock.stop();
           clearInterval(countup);
         }
        },500); 
    

    查看flipclockjs.com 以获取有关回调的文档。

    以下是一个例子:

            var clock,countup;
    
            clock = new FlipClock($('.clock'), {
                clockFace: 'Counter',
                minimumDigits: 4,
                callbacks: {
                 interval: function() {
                   var time = clock.getTime().time;
                   if(time > 300) { clearInterval(countup); }
                 }
                }
            });
    
            setTimeout(function() {
             countup = setInterval(function() { clock.increment(); }, 0.1);        
            });     
    

    【讨论】:

    • 感谢 Adam...我尝试使用该代码但计数器一直运行超过 300...我尝试将时间值设置为“0300”以防 minimumDigits 设置为“ 4" 可能干扰了停止值。我也尝试使用flipclock.js文件中的“setCountdown”函数,但同样的问题......
    • 整洁 - 开始调试的时间。输入console.log
    • 向作者提交错误报告 - 看起来并没有像文档中所说的那样实际调用任何回调。
    • @Sprout - 我提供了另一种方法来完成您的任务。请参阅我编辑的答案。
    【解决方案2】:

    你摇滚亚当...这就是最终的工作...

    var clock,countup;
            clock = new FlipClock($('.clock'), {
                clockFace: 'Counter',
                minimumDigits: 4,
            });
    
    countup = setInterval(function() {
        clock.increment();
            if(clock.getTime().time > 300) {
            clock.stop();
            clearInterval(countup);
            }     
    }, 0);
    

    【讨论】:

      猜你喜欢
      • 2022-08-14
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      相关资源
      最近更新 更多