我正在与Flipclock http://flipclockjs.com/挣扎。我浏览了他们的网站,但我找不到如何改变时间的提示。
我想要做的是设置我想要显示的时间。问题是某些智能电视上的浏览器在更改时区时遇到问题,所以我想从服务器上获取时间,但是我无法设置时间。这是我的代码。我只发现了倒计时的一些例子,但这根本没有帮助。它只使用当地时间而且根本没有变化。提前谢谢大家。
// Here i get the unix time from the server in a hidden field
ServerTime = $('#my_time').val();
// FlipClock initialization
clock = $('.clock').FlipClock({
autoStart: false,
clockFace: 'TwentyFourHourClock'
});
var time = clock.getTime();
console.log(time);
clock.setTime(time + 3600);
clock.start();
答案 0 :(得分:1)
正如我发现FlipClock插件在某种程度上不能与setTime()
一起使用所以我在其他地方更改了代码。这是我用于生成FlipClockJS插件的初始化代码。
var clock;
var index = '';
$(document).ready(function() {
clock = $('.clock').FlipClock({
clockFace: 'TwentyFourHourClock'
});
});
我所做的更改是在文件Flipclock.js中。它在1325线左右。搜索getMilitaryTime
原件:
getMilitaryTime: function() {
var date = new Date();
var obj = this.digitize([
date.getHours(),
date.getMinutes(),
date.getSeconds()
]);
return obj;
},
编辑:
getMilitaryTime: function() {
var date = new Date();
/* The folowing code looks at my server time and if it's higher or smaller it adds so many hours it is missing */
var ServerTime = $('#my_time').val();
var d = new Date();
var n = d.getHours();
var diff = ServerTime - n;
/*****************************************************************/
var obj = this.digitize([
date.getHours()+(diff),
date.getMinutes(),
date.getSeconds()
]);
return obj;
},
答案 1 :(得分:1)
// FlipClock initialization
var ServerTime = $('#my_time').val();
var d = new Date();
var n = d.getHours();
var diff = ServerTime - n;
clock = $('.clock').FlipClock(diff,{
clockFace: 'TwentyFourHourClock'
});
这样可以让您在不修改源代码的情况下显示时间。
答案 2 :(得分:1)
使用此100%工作
<script>
var date = new Date('2016-11-07 07:00:0 am');
clock = $('.clock').FlipClock(date, {
clockFace: 'DailyCounter',
countdown: true,
showSeconds: false
});
</script>
您可以根据需要更改clockFace值。