You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.8 KiB
JavaScript
92 lines
2.8 KiB
JavaScript
1 week ago
|
(function ($) {
|
||
|
"use strict";
|
||
|
|
||
|
$.fn.extend({
|
||
|
|
||
|
countdown100: function(options) {
|
||
|
var defaults = {
|
||
|
timeZone: "",
|
||
|
endtimeYear: 0,
|
||
|
endtimeMonth: 0,
|
||
|
endtimeDate: 0,
|
||
|
endtimeHours: 0,
|
||
|
endtimeMinutes: 0,
|
||
|
endtimeSeconds: 0,
|
||
|
}
|
||
|
|
||
|
var options = $.extend(defaults, options);
|
||
|
|
||
|
return this.each(function() {
|
||
|
var obj = $(this);
|
||
|
var timeNow = new Date();
|
||
|
|
||
|
var tZ = options.timeZone; console.log(tZ);
|
||
|
var endYear = options.endtimeYear;
|
||
|
var endMonth = options.endtimeMonth;
|
||
|
var endDate = options.endtimeDate;
|
||
|
var endHours = options.endtimeHours;
|
||
|
var endMinutes = options.endtimeMinutes;
|
||
|
var endSeconds = options.endtimeSeconds;
|
||
|
|
||
|
if(tZ == "") {
|
||
|
var deadline = new Date(endYear, endMonth - 1, endDate, endHours, endMinutes, endSeconds);
|
||
|
}
|
||
|
else {
|
||
|
var deadline = moment.tz([endYear, endMonth - 1, endDate, endHours, endMinutes, endSeconds], tZ).format();
|
||
|
}
|
||
|
|
||
|
if(Date.parse(deadline) < Date.parse(timeNow)) {
|
||
|
var deadline = new Date(Date.parse(new Date()) + endDate * 24 * 60 * 60 * 1000 + endHours * 60 * 60 * 1000);
|
||
|
}
|
||
|
|
||
|
|
||
|
initializeClock(deadline);
|
||
|
|
||
|
function getTimeRemaining(endtime) {
|
||
|
var t = Date.parse(endtime) - Date.parse(new Date());
|
||
|
var seconds = Math.floor((t / 1000) % 60);
|
||
|
var minutes = Math.floor((t / 1000 / 60) % 60);
|
||
|
var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
|
||
|
var days = Math.floor(t / (1000 * 60 * 60 * 24));
|
||
|
return {
|
||
|
'total': t,
|
||
|
'days': days,
|
||
|
'hours': hours,
|
||
|
'minutes': minutes,
|
||
|
'seconds': seconds
|
||
|
};
|
||
|
}
|
||
|
|
||
|
function initializeClock(endtime) {
|
||
|
var daysSpan = $(obj).find('.days');
|
||
|
var hoursSpan = $(obj).find('.hours');
|
||
|
var minutesSpan = $(obj).find('.minutes');
|
||
|
var secondsSpan = $(obj).find('.seconds');
|
||
|
|
||
|
function updateClock() {
|
||
|
var t = getTimeRemaining(endtime);
|
||
|
|
||
|
daysSpan.html(t.days);
|
||
|
hoursSpan.html(('0' + t.hours).slice(-2));
|
||
|
minutesSpan.html(('0' + t.minutes).slice(-2));
|
||
|
secondsSpan.html(('0' + t.seconds).slice(-2))
|
||
|
|
||
|
if (t.total <= 0) {
|
||
|
clearInterval(timeinterval);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
updateClock();
|
||
|
var timeinterval = setInterval(updateClock, 1000);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
})(jQuery);
|