jQuery图像在循环中预加载回调

时间:2016-11-21 22:36:33

标签: javascript jquery

我正在为灯箱库编写脚本。我想用prelaod技术来优雅的图像加载。我目前的剧本是:

for (var i in imgs) {
    var tmp_thumb=$('img');
    tmp_thumb.on('load', function(){
        O.SG.thumbs.append('<li><a style="background-image:url(\'' + imgs[i].thumb + '\')"></a></li>');
        $(this.)remove();
    }).attr('src', imgs[i].thumb);
}

问题是,当调用load回调时,循环计数器i几乎总是来自img数组的最后一个值。

如何从lode

的上下文传递回调i的正确值

1 个答案:

答案 0 :(得分:-1)

问题是没有什么能阻止你的循环,你设置了一堆回调,当他们开始被调用时,i的值已经到了结尾。尝试使用延迟。网上有例子。这是一个相当不错的人:http://aboutcode.net/2013/01/09/load-images-with-jquery-deferred.html