我正在使用.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/

10-08 22:36