jQuery获得将json加载到数组中的感知

时间:2018-05-18 11:05:09

标签: jquery json progress

我在客户端有这个代码读取json文件:

/* PLAYLIST - total */
var total = 372 / Object.keys(res).length;

$.each(res, function(key, item) {
    $(".loader_bar").css("width", (total*key)+"px");
})

然后我的进度条被填充到100%(372px)但我没有看到任何填充进度条的进度...所以我认为我需要一些计时器或什么元素来计算从收到的res对象读取json时的百分比从服务器和读取res对象更新进度条...例如我有3个项目的res.length所以我的进度条需要这样:

0%
33%
66%
100%

但是我在等待一段短时间(例如10秒)之后才看到进度条,它从0%变为100%而没有其他值...所以我怎么能在每秒进行更新进度更新以便我可以在$ .each函数中查看json中每秒或每个读取项的进度更新?

感谢。

1 个答案:

答案 0 :(得分:1)

问题是你的循环太快了。 试试这个:

$.each(res, function(key, item) {
   setTimeout(function(){
      $(".loader_bar").css("width", (total*key)+"px");
   }, 200);
});

播放延迟,看看你是否有预期的效果。

或使用插件。