我正在使用.each()迭代JSON文件。我希望页面显示3秒钟的数据,暂停3秒钟,然后转到下一个并重复。我有以下代码:
$.getJSON(url,function(json1){
$.each(json1.data,function(numb){
setTimeout(function() {
alert(json1.data[numb]["title"]);
},3000);
});
});
我以为可以这样做,但这只需要等待3秒钟,然后连续显示每一位数据,因此我需要将它们间隔3秒钟。
我怎么得到的?谢谢!
编辑:好的,所以使用此代码:
var num = 0;
$.getJSON(url,function(json1){
$.each(json1.data,function(broj){
setTimeout(function() {
$(".bubble").text(json1.data[broj]["text"]);
},6000*num);
num++;
});
});
但这比使用setInterval(func,3000)显示数据的其他元素晚了大约半秒。为什么并且可以修复?我真的很感兴趣
最佳答案
指数次:-
$.getJSON(url, function(json1) {
$.each(json1.data, function(numb) {
setTimeout(function() {
alert(json1.data[numb]["title"]);
}, 3000 * num);
});
});
这将是1st 0秒,2nd 3秒,3rd 6秒等。
或者您也希望1号也等待,请使用:
3000 * (num+1)
关于javascript - $。每个显示数据然后暂停3秒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39623865/