【问题标题】:Flipclock.js interval callback method that fires an event every minuteFlipclock.js 间隔回调方法,每分钟触发一个事件
【发布时间】:2014-11-20 03:40:04
【问题描述】:

我在我的网站上添加了一个翻转时钟倒计时计时器,我想要一种每分钟触发一次事件的方法,以便我可以对源中的元素进行更改。我尝试在代码中添加警报以查看回调是否被触发,但我很确定我不太了解回调方法的文档。我参考了flipclock.min.js 和flipclock.css,我能够让时钟倒计时,而我只需要每分钟触发一次事件。您可以在此处找到文档和下载:Flipclock.js

这是我目前拥有的 javascript 代码:

<script type="text/javascript">
    var clock = $('#clock').FlipClock(3600,{
        countdown: true,
        callbacks: {
            _interval: function () {
                var time = clock.getTime().time;
                alert(time);
                if (time % 60 == 0) {
                    //Change element
                }
            }
        }
    });

</script>

这里是html:

<div id="clock-container"style="width: 100%">
    <div class="col-lg-6" id="clock"></div>
</div>

【问题讨论】:

    标签: javascript jquery flipclock


    【解决方案1】:

    间隔回调名称的下划线前缀是为全局 Timer 对象保留的。在您的用例中,您应该只使用“间隔”。您还需要禁用自动启动功能,以便在调用第一个间隔回调之前分配时钟变量(从而避免时钟未定义)。

    var clock = $('#clock').FlipClock(3600,{
        autoStart: false,
        countdown: true,
        callbacks: {
            interval: function () {
                var time = clock.getTime().time;
                alert(time);
                if (time % 60 == 0) {
                    //Change element
                }
            }
        }
    });
    
    clock.start();
    

    【讨论】:

    • 我也试过了,但它说 clock.getTime() 是未定义的,我相信一切都被正确引用了。
    • 这些文档绝对具有误导性。看起来,您希望 clock.getElapsed() 获得已经过去的秒数。
    • 我看到了问题。在设置时钟变量之前调用间隔回调。我正在用我刚刚测试过的解决方案更新答案。
    猜你喜欢
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2012-10-03
    相关资源
    最近更新 更多