Java脚本countddown不工作

问题描述:

这就是代码人...让我最新错了......我应该在哪里以及如何添加目标或倒计时结束日期。Java脚本countddown不工作

/** 
* downCount: Simple Countdown clock with offset 
* Author: Sonny T. <[email protected]>, sonnyt.com 
*/ 

(function ($) { 

    $.fn.downCount = function (options, callback) { 
     var settings = $.extend({ 
       date: null, 
       offset: null 
      }, options); 

     // 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; 

     /** 
     * Change client's local date to match offset timezone 
     * @return {Object} Fixed Date 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; 
     }; 

     /** 
     * Main downCount function that calculates everything 
     */ 
     function countdown() { 
      var target_date = new Date(settings.date), // set target date 
       current_date = currentDate(); // get fixed current 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); 

       // 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; 

      // based on the date change the refrence wording 
      var ref_days = (days === 1) ? 'day' : 'days', 
       ref_hours = (hours === 1) ? 'hour' : 'hours', 
       ref_minutes = (minutes === 1) ? 'minute' : 'minutes', 
       ref_seconds = (seconds === 1) ? 'second' : 'seconds'; 

      // 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_ref').text(ref_days); 
      container.find('.hours_ref').text(ref_hours); 
      container.find('.minutes_ref').text(ref_minutes); 
      container.find('.seconds_ref').text(ref_seconds); 
     }; 

     // start 
     var interval = setInterval(countdown, 1000); 
    }; 

})(jQuery); 
+0

这些变化并不能使它工作... –

+2

嗨综合外电 - 由@SHAZ的*编辑*为使所有的代码在代码窗口千篇一律,没有“改变”。 –

+0

正如我看到,这不是你自己开发的代码,也许试试这个:http://fengyuanchen.github.io/countdown/有一个很好的doucumentation – brandelizer

该代码实际上工作。你应该添加一个脚本来调用它。这是一个倒计时插件,它的代码应该是:

$('.countdown').downCount({ 
    date: '12/02/2015 19:00:00', 
    offset: +1 
}, function() { 
    alert('WOOT WOOT, done!'); 
}); 

日期显然是你要倒计时的结束日期和时间偏移量为UTC偏差。 关于它的一切可以找到here

此外,它需要jQuery。