2012-06-28 83 views
0

我想爲每個div創建200個div和定時器。 這是我的代碼:jquery倒計時插件:沒有倒計時,只有零

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

哪裏出錯?
謝謝。 JsFiddle

回答

1

問題很簡單,你正在創建一個日期在1月1日和今天,所以它總是在過去。如果目標日期已經過去,插件停在零。

例如2013,而不是挑選:

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

應該解決ID的問題(他們不應該以數字開頭),但大多數瀏覽器都可以用它輕鬆地應付,所以它不是真正原因。

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

+0

你很細心:)。十分感謝。 – user1260827

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+'"

+0

@mgraph:試試你在jsFiddle中的建議。它不工作。 – user1260827

0

請更換您的這部分代碼:

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

你不能有nu的id作爲首字符。並且不要忘記用分號;來結束這些行。