for遍历数据库时间进行倒计时只有第一个时间可以倒计时,遍历的第一个之后没有用是怎么回事,还请各位前辈指点一下
可以描述清楚点:比如:啥语言,啥数据库,啥情形下,主要代码是啥?
C#web开发 ,sqlSever,
$.post("Selctemodel", { PrincipalId: $("#PrincipalId").val() }, function (data) {
for (let i = 0; i < data.length; i++) {
var mokuai = "<div class='img'>";
mokuai += "<div>";
mokuai += "<a href='ModelInfo?PrincipalId=" + data[i].PrincipalId + "&SGroupId=" + data[i].SGroupId + "'>";
mokuai += "<img src='" + data[i].Surfaceplot + "' alt=''>";
mokuai += "</a>";
mokuai += "</div>";
mokuai += "<div class='text'>";
mokuai += "<span class='spana'>" + data[i].SAfewperple + "人成团</span><span class='span'>" + data[i].SGroupTitle + "</span><p class='jia'><span class='xianjia'>¥" + data[i].SGrouppice + "</span><span style='color:#FF7013;'> </span><span style='color:#C9C9C9;' class='hua'>¥" + data[i].SRetailprice + "</span></p>";
mokuai += "<p class='xs'><span>已成5团 / 可成10团 / 每人限购" + data[i].SPurchase + "份</span><span class='txt'>提货点:" + data[i].StoreName + "</span></p>";
mokuai += "<p class='djs'><span id='sj'>剩余</span><a>00</a>天 <a>00</a>:<a>00</a>:<a>00</a><span class='sp'>下单2小时后</span></p>";
mokuai += " <a href='EditModel'> <div class='bianji'><p>编辑模板</p></div></a>";
mokuai += " </div>";
mokuai += "</div>";
mokuai += "<div>";
var showtime = function () {
var nowtime = new Date(), //获取当前时间
endtime = new Date(ChangeDateFormat(data[i].Sfinishtime)); //定义结束时间
var lefttime = endtime.getTime() - nowtime.getTime(), //距离结束时间的毫秒数
leftd = Math.floor(lefttime / (1000 * 60 * 60 * 24)), //计算天数
lefth = Math.floor(lefttime / (1000 * 60 * 60) % 24), //计算小时数
leftm = Math.floor(lefttime / (1000 * 60) % 60), //计算分钟数
lefts = Math.floor(lefttime / 1000 % 60); //计算秒数
return leftd + "天" + lefth + ":" + leftm + ":" + lefts; //返回倒计时的字符串
}
setInterval(function () {
$('#sj').append(showtime());
$('#sj').html(" ");
$('#sj').append(showtime());
}, 1000); //反复执行函数本身
$("#newimg").append(mokuai);
}
});
@StarryのSky:
因为:setInterval意思是在每隔指定的毫秒数循环调用函数或表达式,直到clearInterval把它清除。
所以:在for循环遍历第一个数据时,setInterval一直在执行,并且是每隔1秒执行一次,永远不会结束;
所以:(只有第一个时间可以倒计时,遍历的第一个之后没有用)
目前没有搞定