我在我的网站上使用 flipClock.js 。我想在几秒钟内获得时间。
怎么做?
$('.clock').FlipClock(600, {
clockFace: 'MinuteCounter',
countdown: true,
language: 'fa-ir',
callbacks: {
stop: function () {
$('#timeout-dialog').modal({ backdrop: 'static', keyboard: false });
}
}
});
答案 0 :(得分:1)
我敢打赌你想得到的是time delta,而不仅仅是时间,而是到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。