如何获取 FlipClock 的时间?

How to get time of FlipClock?

我在 site.I 中使用 flipClock.js 想要以秒为单位获取时钟时间。

如何操作?

$('.clock').FlipClock(600, {
            clockFace: 'MinuteCounter',
            countdown: true,
            language: 'fa-ir',
            callbacks: {
                stop: function () {
                $('#timeout-dialog').modal({ backdrop: 'static', keyboard: false });
                }
            }
        });

我打赌你想要得到的是time delta,不只是time,而是time until/after smth,在您的情况下,时间到 FlipClock 被实例化 + 600 秒。在Javascript中,它通常以毫秒为单位表示,只是一个数字。计算这个时间增量可以做的是在两个回调函数之间共享目标时间,将变量放入外部范围:

let timeStarted = null;
const targetTimeDelta = 5000;
const clock = $('#clock').FlipClock(targetTimeDelta / 1000, {
  clockFace: 'MinuteCounter',
  countdown: true,
  callbacks: {
    start: () => {
      timeStarted = new Date();
    },
    stop: () => {
      const timeStopped = new Date();
      console.log(Number(targetTimeDelta) - Number(timeStopped) + Number(timeStarted));
    }
  }
});

此处,timeStarted 首先在传递给 start 回调的函数范围之外声明。它使它可以从另一个范围访问,即传递给 stop 回调的函数范围。它还使它可以从其他任何地方访问,通常 globals are bad,但它仅用于此处的演示目的。也许您已经知道如何正确封装这个值,这样它就不会偶尔在代码的其他地方被重新定义。

此外,请参阅 codepen