我有一个页面,我想在其中为用户提出的出价提供“年龄计数器”。用户数量会因情况而异,因此需要考虑到这一点。我写了这个:
function timer(i) {
// this selects a 'hh:mm:ss' timestamp
if ($("#time_0" + i).text() !== "") {
var now = new Date();
var date = now.toDateString();
var tStamp = new Date(date + "," + $("#time_0" + i).text());
var diff = now - tStamp;
var mins = Math.floor(diff / (1000 * 60));
var secs = Math.floor((diff / 1000) % 60);
if (mins < 10) {
mins = "0" + mins;
}
if (secs < 10) {
secs = "0" + secs;
} else if (secs == 60) {
secs = "00";
}
$("#user" + i + "-t").text(mins + ':' + secs);
}
}
$(document).ready(function() {
//
var ids = [];
$("td[id^='time_0']").each(function() {
var i = ($(this).attr("id")).slice(-1);
ids.push(i);
});
for (i in ids) { // in my example ids = [1,2,3]
setInterval(function() {timer(i);}, 1000);
}
});
计时器本身的功能就像我想要的那样,但仅适用于用户#2(中间用户)。我想如果我遇到这个问题,它可能是列表中第一个或最后一个具有工作计时器的用户,但我得到了用户#1 和#3 的空白单元格。
有人对我如何解决这个问题有任何想法吗?感谢您的时间。
==编辑==
我做了一个简单的jsfiddle