Jquery倒计时不起作用(错误的时间)

时间:2013-01-25 04:39:08

标签: jquery countdown

我正在使用 CountDown Plugin ,这是我的代码和视图:

<div class="sc" lang="2013, 12 -1, 18">
<div class="sc" lang="2013, 6 -1, 22">

<script>
$(document).ready(function(){
$(".sc").each(function(){
$(this).countdown({until: $(this).attr("lang"), compact: true, format: 'HMS', description: ''});});});
</script>

我的问题是它返回错误的时间,例如: 00:34:00 ,另一个是 00:34:03

有人能帮帮我吗?

我正在努力学习英语,所以我说英语不太好,很抱歉。

3 个答案:

答案 0 :(得分:2)

您正在使用until参数错误,您需要一个新的Date对象,并且您当前的lang attr无法解析为该对象。

编辑:由于您的目标日期距离较远,因此如果您使用ODHMSDHMS作为格式,则可以根据需要包含数月和日期。

我对您的代码进行了一些更改以使其正常工作。

<强> HTML:

<div class="sc" lang="2013, 11, 18"></div>
<div class="sc" lang="2013, 5, 22"></div>

<强> JQuery的:

$(document).ready(function () {
    $("div.sc").each(function (i, item) {
        var targetDate = $(item).attr("lang").split(',');
        $(item).countdown({
            until: new Date(targetDate[0].trim(), targetDate[1].trim(), targetDate[2].trim()),
            compact: true,
            format: 'DHMS',
            description: ''
        });
    });
});

同时检查这个小提琴中的工作样本:http://jsfiddle.net/EkmsT/

编辑2:我已将lang值更改为11和5而不是12-1和6-1,并在倒计时代码中直接将其用作targetDate [1] .trim()。您仍然可以使用12 -1和6 -1并更改新的日期代码以使用parseInt(targetDate [1] .trim())

答案 1 :(得分:1)

好吧因为没有设置时区。

试试这个。

$(this).countdown({until: $(this).attr("lang"), compact: true, format: 'HMS', description: '',timezone: +60});

相应地设置时区。

答案 2 :(得分:1)

在jquery倒计时中定义date参数时,您尚未定义until函数。 lang attr。

中的日期之间有一个空格
<div class="sc" lang="2013, 10, 21"></div>
<div class="sc" lang="2013, 5, 23"></div>

<script>
$(document).ready(function(){
$(".sc").each(function(){
    var dateSplit = $(this).attr("lang").split(',');alert(dateSplit[0].trim());
    var dateRem = new Date(dateSplit[0].trim(), dateSplit[1].trim(), dateSplit[2].trim());
    $(this).countdown({until: dateRem, compact: true, format: 'HMS', description: ''});});
});
</script>