У меня есть страница с фотографиями, каждая из которых завернута в div с class="photo_wrap"
. Пользователи могут видеть определенное количество фотографий. Если они хотят видеть больше, то они нажимают кнопку «Просмотреть фотографии». Пока они ждут загрузки фотографий, я показываю «индикатор выполнения» gif с id="spinner"
. Из-за некоторых проблем с кладкой pluggin и загрузкой фотографий я поставил кладку на «перезагрузку» после того, как все img
полностью загружены. Проблема в том, что это также предотвращает анимацию «progress bar» gif. Я думал, что, написав $('div.photo_wrap img').load(...
, будут сделаны только фотографии с class="photo_wrap"
, но это все равно предотвратит анимацию «progress bar» gif. Зачем?Как предотвратить функцию jquery load() от переопределения шага выполнения анимированного gif?
$(document).ready(function(){
$("#spinner").show();
$.ajax({
type: "POST",
url: 'my_script.php',
dataType: 'html',
success: function(data){
var $container = $('#myPhotos');
$container.append(data);
$('div.photo_wrap img').load(function(){
$container.masonry('reload');
});
$container.masonry('reload');
$("#spinner").hide();
}
});
return false;
});
Как указано выше, загрузка ajax запускается, как только документ готов, а не при нажатии кнопки «Просмотреть фотографии». Это было предназначено? –
Вышеупомянутый код содержится внутри именованной функции, которая вызывается, когда пользователь нажимает кнопку «Просмотреть больше фотографий». –