0

我正在使用这个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

有人可以帮我吗?

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

4

3 回答 3

2

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

编辑:由于您的目标日期如此遥远,如果您使用ODHMSDHMS作为您的格式来根据需要包含月份和日期会更好。

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

HTML:

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

查询:

$(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())

于 2013-01-25T04:58:35.497 回答
1

好吧,因为没有设置时区。

试试这个。

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

相应地设置时区。

于 2013-01-25T04:55:11.180 回答
1

在 jquery 倒计时中定义参数时,您尚未定义date函数。attruntil中的日期之间有一个空格。lang

<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>
于 2013-01-25T05:07:07.033 回答