2

我在我的网站中使用flipClock.js。我想以秒为单位获取时钟时间。

这个怎么做?

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

1 回答 1

2

我敢打赌你想要得到的是time delta,不仅仅是time,而是直到/之后的时间 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回调的函数的范围。它还可以从其他任何地方访问它,并且通常全局变量是 bad,但这仅用于演示目的。也许您已经知道如何正确封装这个值,这样它就不会偶尔在代码的其他地方重新定义。

另外,请参阅codepen

于 2016-11-13T06:29:08.827 回答