我在我的网站中使用flipClock.js。我想要以秒为单位获取时钟时间。
如何做到这一点?
$('.clock').FlipClock(600, {
clockFace: 'MinuteCounter',
countdown: true,
language: 'fa-ir',
callbacks: {
stop: function () {
$('#timeout-dialog').modal({ backdrop: 'static', keyboard: false });
}
}
});
最佳答案
我打赌你想得到的是time delta ,不仅仅是时间,而是直到/之后的时间,并且在您的情况下,直到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为此。
关于jquery - 如何获取FlipClock的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40564858/