如何在计数计时器上设置特定日期

时间:2016-03-06 19:38:18

标签: javascript java jquery

我正在尝试从特定日期开始计时。我用这个(http://tutorialzine.com/2012/09/count-up-jquery/)教程来做,但我不知道放在哪里:

$('#倒计时&#39)。计数进位({     开始:新日期(2012年,10年,27年,15年,58年,21年)//年,月,日,小时,分钟,秒 });

正如它在描述中所说的那样。

代码的开头如下所示:

(function($){

    // Number of seconds in every time division
    var days    = 24*60*60,
        hours   = 60*60,
        minutes = 60;

    // Creating the plugin
    $.fn.countup = function(prop){

        var options = $.extend({
            callback    : function(){},
            start       : new Date()
        },prop);    

        var passed = 0, d, h, m, s, 
            positions;

        // Initialize the plugin
        init(this, options);

        positions = this.find('.position');

2 个答案:

答案 0 :(得分:1)

您必须使用

调用插件
$('#countdown').countup({ start: new Date(2012, 10, 27, 15, 58, 21) //year, month, day, hour, min, sec });

你的html会有一个id =“countdown”的元素

<div id="countdown"></div>

现在你几乎可以把它放在JS的任何地方。假设您想在窗口加载时调用此插件,您包含的JS文件可能具有以下内容:

$(window).on('load',function(){
    $('#countdown').countup({ start: new Date(2012, 10, 27, 15, 58, 21)});
})

打破发生的事情:

$("#countdown").countup()//calls a jQuery function obviously

作为参数,您传递的是一个对象     {star:new Date()}

以下是Javascript Date()方法接受的接受格式的一些细节:http://www.w3schools.com/js/js_date_formats.asp

现在一旦调用.countup()函数,请注意$ .extend()部分,该部分基本上将第二个对象复制到第一个,即如果你传递

{start:new Date("2015-11-10")}

这会覆盖函数定义中的默认键start。如果你不将它作为参数传递,它只会回到新的Date(),它基本上是当前的日期时间。

答案 1 :(得分:1)

这是一个完整的工作示例。运行代码段以查看其是否有效。

请参阅@ Anubhab的答案(已投票),了解其运作方式的详细信息。此外,请确保您的页面包含使其运行所需的所有必需的CSS和Javascript文件。

&#13;
&#13;
<!DOCTYPE HTML>
<html>
<head>
  <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300" />
  <link rel="stylesheet" href="http://demo.tutorialzine.com/2012/09/count-up-jquery/assets/countup/jquery.countup.css" />
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  <script src="http://demo.tutorialzine.com/2012/09/count-up-jquery/assets/countup/jquery.countup.js"></script>
</head>
<body>
  <div id="countdown"></div>
  <script>
    $(function() {
      // jQuery ready - create counter
      $('#countdown').countup({
        start: new Date(2016, 0, 1, 0, 0, 0)
      });
    });
  </script>
</body>
</html>
&#13;
&#13;
&#13;