FlipClock.getTime()不工作?不更新返回值



我问了一个类似的问题,但没有收到。所以我要重说一遍。为什么flipClock函数getTime((不在每次钟面变化时返回一个值?当我将其输出到控制台时,值为a,始终保持在10。它从不倒计时。然而,这只钟运行得非常好。如何获取时钟的当前时间?

var clock;
// Instantiate a counter
clock = new FlipClock($('.clock'), 10, {
clockFace: 'MinuteCounter',
autoStart: false,
countdown: true
});
if(clock.getTime() == 0){
//Redirect to another page
window.location.href = "example.html";
}else{
console.log("This is the time now" + getTime());
}

因为只调用一次,所以需要绑定到interval事件。在回调函数中创建

var clock = new FlipClock($('.clock'), 10, {
clockFace: 'MinuteCounter',
autoStart: true,
countdown: true,
callbacks: {
interval: function() {
var time = this.factory.getTime().time;
console.clear()
console.log("Countdown now: " + time);
if (time == 0) {
alert('Countdown finished!');
}
}
}
});
.clock{margin-top:30px}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flipclock/0.7.8/flipclock.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flipclock/0.7.8/flipclock.min.js"></script>
<div class="clock"></div>

如果我误解了你的问题,请原谅。如果这个回答太离谱,屈尊俯就,我深表歉意。

您提供的代码将只执行一次。创建时钟后,立即调用clock.getTime()。那一刻的结果是10。因此,您的重定向代码将不会执行(因为结果不等于0(,您将立即进入else块中的代码。该代码将把时钟的当前时间注销到控制台(因为代码执行得太快,所以仍然是10(。

为了观察时钟倒计时,您需要反复调用clock.getTime()。你应该仔细阅读民意调查的概念。您可能会发现setInterval很有用(请参阅https://alligator.io/js/settimeout-setinterval/)。

最新更新