0

200 div を作成し、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()))
    }

エラーはどこにありますか?
ありがとう。 Jsフィドル

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 に答える