我的代码在javascript,html中。设置日期无法正常工作。 settings.date不正确。如果有人可以帮助,我将很高兴。
> // CountDown Clock > // Version : 1.0.1 > // Developer : Ekrem KAYA > // Website : http://e-piksel.com > // GitHub : https://github.com/epiksel/countdown
(function ($) {
'use strict';
$.fn.countdown = function (options, callback) {
var settings = $.extend({
date: 12/13/2018 12:00:00.,
offset: null,
day: 'Day',
days: 'Days',
hour: 'Hour',
hours: 'Hours',
minute: 'Minute',
minutes: 'Minutes',
second: 'Second',
seconds: 'Seconds'
}, options);
!settings.date ==不能正确显示。
// Throw error if date is not set
if (!settings.date) {
$.error('Date is not defined.');
}
// Throw error if date is set incorectly
if (!Date.parse(settings.date)) {
$.error('Incorrect date format, it should look like this, 12/24/2012 12:00:00.');
}
// Save container
var container = this;
/ ** *更改客户的本地日期以匹配偏移时区 * @返回{Object}固定日期对象。 * /
var currentDate = function () {
// get client's current date
var date = new Date();
// turn date to utc
var utc = date.getTime() + (date.getTimezoneOffset() * 60000);
// set new Date object
var new_date = new Date(utc + (3600000 * settings.offset));
return new_date;
};
/ ** *主倒计时功能可计算所有内容 * /
function countdown() {
// alert("countdown");
var target_date = new Date(settings.date), // set target date
current_date = currentDate(); // get fixed current date
// alert(current_date);
// console.log(target_date);
console.log(settings.date);
// difference of dates
var difference = target_date - current_date;
// if difference is negative than it's pass the target date
if (difference < 0) {
// stop timer
clearInterval(interval);
if (callback && typeof callback === 'function') callback();
return;
}
// basic math variables
var _second = 1000,
_minute = _second * 60,
_hour = _minute * 60,
_day = _hour * 24;
// calculate dates
var days = Math.floor(difference / _day),
hours = Math.floor((difference % _day) / _hour),
minutes = Math.floor((difference % _hour) / _minute),
seconds = Math.floor((difference % _minute) / _second);
// based on the date change the refrence wording
var text_days = (days === 1) ? settings.day : settings.days,
text_hours = (hours === 1) ? settings.hour : settings.hours,
text_minutes = (minutes === 1) ? settings.minute : settings.minutes,
text_seconds = (seconds === 1) ? settings.second : settings.seconds;
// fix dates so that it will show two digets
days = (String(days).length >= 2) ? days : '0' + days;
hours = (String(hours).length >= 2) ? hours : '0' + hours;
minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes;
seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds;
console.log(days,text_days);
// set to DOM
container.find('.days').text(days);
container.find('.hours').text(hours);
container.find('.minutes').text(minutes);
container.find('.seconds').text(seconds);
container.find('.days_text').text(text_days);
container.find('.hours_text').text(text_hours);
container.find('.minutes_text').text(text_minutes);
container.find('.seconds_text').text(text_seconds);
}
// start
var interval = setInterval(countdown, 1000);
};
})(jQuery);
答案 0 :(得分:0)
我得到了答案。我只需要将此代码放在HTMl中,就可以设置日期了。
<script class="source" type="text/javascript"> var now = new Date(); var day = now.getDate(); var month = now.getMonth() + 1; var year = now.getFullYear() + 1; var nextyear = month + '/' + day + '/' + year + ' 07:07:07'; $('#example').countdown({ date: '12/13/2018 12:00:00' , // TODO Date format: 07/27/2017 17:00:00 offset: +2, // TODO Your Timezone Offset day: 'Day', days: 'Days' }, function () { alert('Done!'); }); </script>
<script class="source" type="text/javascript"> var now = new Date(); var day = now.getDate(); var month = now.getMonth() + 1; var year = now.getFullYear() + 1; var nextyear = month + '/' + day + '/' + year + ' 07:07:07'; $('.clock').countdown({ date: '12/13/2018 12:00:00' , // TODO Date format: 07/27/2017 17:00:00 offset: +2, // TODO Your Timezone Offset day: 'Day', days: 'Days' }, function () { alert('Done!'); }); </script>