我正在为灯箱库编写脚本。我想用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
的正确值
答案 0 :(得分:-1)
问题是没有什么能阻止你的循环,你设置了一堆回调,当他们开始被调用时,i的值已经到了结尾。尝试使用延迟。网上有例子。这是一个相当不错的人:http://aboutcode.net/2013/01/09/load-images-with-jquery-deferred.html