我想为每个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()))
}
哪里出错?
谢谢。
JsFiddle
答案 0 :(得分:1)
问题只是你在1月1日 2012 和今天之间创建了一个日期,所以它总是在过去。如果目标日期已经过去,则插件将停止为零。
选择例如2013年:
var date = randomDate(new Date(2013, 0, 1), new Date())
你应该修复id问题(它们不应该以数字开头),但是大多数浏览器都可以轻松应对它,所以这不是真正的原因。
答案 1 :(得分: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+'"
答案 2 :(得分:0)
请替换这部分代码:
for(var i=0;i<200; i++)
{
var date = randomDate(new Date(2012, 0, 1), new Date());
$("#s"+i).countdown({until: date});
}
您不能将id
作为起始字符。并且不要忘记用分号;
结束行。