我有一个脚本,通过一系列代表图像的JSON对象循环,循环加载图像,一旦它被加载,它会将它附加到我的网站/应用程序中的一个元素上。jQuery each()和load()排序
图像在JSON中的顺序是正确的,但是它们以不同的顺序出现,这取决于加载速度最快的图像,因为它们是首先附加的。我想确保无论图像加载的顺序如何,它们是总是以正确的顺序(循环表示的顺序)。
我希望最终的方法允许我在加载图像之前访问包装定位点的样式,以显示加载图标。
这里的脚本,我谈论的部分:
$.each(project.images, function (index, image){
var image_src = '<?= IMAGE_PATH ?>library/preview/'+ image.file_name;
var image_markup = $('<img class="new-image" />').attr('src', image_src)
.load(function(){
if (this.complete)
{
var anchor_markup = $('<a href="javascript:void(0)" class="image-anchor" data-image-index="'+ index +'" id="image-index-'+ index +'">');
$(anchor_markup).append(image_markup);
globals.markup.image_slider.append(anchor_markup);
$('.new-image').fadeIn(200).removeClass("new-image");
}
});
});
的例子也可以在http://www.staging.codebycoady.com/work
道歉,但我正在努力解决如何订购你所建议的功能,请你详细说明一下吗? – Alex
实际上,通过将'var anchor_markup = $(...);'和'globals.markup.image_slider.append(anchor_markup);'回调出来并将它们放在它之前,我想我已经修复了它。 – Alex