所以我试图通过ajax调用替换一堆图像,但是在某些情况下,同一个图像被多次加载,这是由ajax调用的异步性质引起的。(不按顺序调用success函数)我意识到jQuery.ajax函数确实有一个async参数:false,但是我用ajax调用加载的页面有点大,如果同步加载,加载时间会很糟糕. 有没有办法仍然使用异步但同时确保每个图像都能正确加载?
jQuery(document).ready(function($) {
var thumb = $('.ihPhotoThumb'); //original image elements
for(var i = 0; i < thumb.size(); i++){ //go through all the images
replaceImage($('.ihPhotoThumb').eq(i)); //call this function to replace the images
}
});
function replaceImage(elem1){
jQuery.ajax({
url: elem1.parent().attr('href'),
success: function(data){
var image_url =(jQuery(data).find("#ihf_detail_mainphoto_lrg img").attr('src')); //get the image url, which is wrapped in "#ihf_detail_mainphoto_lrg img"
elem1.attr('src', image_url); //replace the picture
}
});
}
有问题的页面位于此处:http ://www.idxre.com/toppicks/52813/OffBeachUnder3m/71472 脚本从第 1714 行开始。