我想在每行附加之间延迟 3 秒
只有第一次附加的迭代有效,数组的其余部分不打印
$(document).ready(function(){
var n=[];
for(var i=1;i<80;i++)
{
n[i]=i;
$("#content table").append("<tr><td>"+n+"<td></tr>").setTimeout(3000);
}
});
我想在每行附加之间延迟 3 秒
只有第一次附加的迭代有效,数组的其余部分不打印
$(document).ready(function(){
var n=[];
for(var i=1;i<80;i++)
{
n[i]=i;
$("#content table").append("<tr><td>"+n+"<td></tr>").setTimeout(3000);
}
});
尝试:
$(document).ready(function () {
var n = [];
for (var i = 1; i < 80; i++) {
n[i] = i;
$("#content table").delay(3000)
.queue(function (nxt) {
$(this).append("<tr><td>" + n + "<td></tr>");
nxt();
});
}
});
这是一个工作示例:http: //jsbin.com/etaqez/4/edit
我使用了一个带有计数器的 setInterval。如果达到数组的长度,则清除间隔。
$(document).ready(function(){
var n=[];
for(var i=1;i<80;i++) {
n[i]=i;
}
var counter = 1;
var addRow = function(elem){
if (counter < n.length) {
$("#content table").append("<tr><td>"+n[counter]+"<td></tr>");
counter += 1;
} else {
clearInterval(timer);
}
};
var timer = setInterval(addRow, 3000);
});