0

我想为每个 div 创建 200 个 div 和计时器。这是我的代码:

$(document).ready(function() {

    for(var i=0; i<200; i++)
    {
        var tag = '<div id="' + i +'" style="width:150px"></div><br/>';
        $('#rsr').append(tag);
    }

    for(var i=0;i<200; i++)
    {
    var date = randomDate(new Date(2012, 0, 1), new Date())

        $("#"+i).countdown({until: date});
    }
    });

    function randomDate(start, end) {
        return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()))
    }

哪里有错误?
谢谢。 提琴手

4

3 回答 3

1

问题很简单,您要在 2012 年 1 月 1日和今天之间创建一个日期,所以它总是在过去。如果目标日期已经过去,则插件在零处停止。

选择例如 2013 代替:

var date = randomDate(new Date(2013, 0, 1), new Date())

应该解决 id 问题(它们不应该以数字开头),但大多数浏览器可以轻松应对它,因此这不是实际原因。

小提琴:http: //jsfiddle.net/SDFLn/17/

于 2012-06-28T09:29:21.850 回答
0

id不能以数字开头试试这个:

for(var i=0; i<200; i++)
{
    var tag = '<div id="cnt_' + i +'" style="width:150px"></div><br/>';
    $('#rsr').append(tag);
}

for(var i=0;i<200; i++)
{
var date = randomDate(new Date(2012, 0, 1), new Date())

    $("#cnt_"+i).countdown({until: date});
}
})

而不是id="'+i+'"id="cnt_'+i+'"

于 2012-06-28T08:59:55.637 回答
0

请替换这部分代码:

for(var i=0;i<200; i++)
{
    var date = randomDate(new Date(2012, 0, 1), new Date());
    $("#s"+i).countdown({until: date});
}

您不能将id数字作为起始字符。并且不要忘记以分号结束行;

于 2012-06-28T09:02:05.480 回答