123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- (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;
- 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);
|