そのため、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 行目から始まります。