2016-11-12 33 views
1

我使用flipClock.js在我的网站。我想获得时钟的时间在几秒钟内。如何获得FlipClock的时间?

如何做到这一点?

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

回答

1

我敢打赌,你想要得到的是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