Я только что закончил сборку простой галереи jQuery с некоторыми затухающими переходами, как видно here. Все работает отлично во всех браузерах - за исключением того, что «предварительная загрузка изображения» не работает при первом загрузке в FireFox (работает во всех других браузерах). Изображения остаются в 0% непрозрачности в firefox. Не знаю, почему.Предварительная загрузка jQuery не работает впервые в FireFox
Вот код предварительной загрузки.
$(document).ready(function(){
//--------PRELOAD LOAD IMAGES--------\\
$('img').load(function() {
//once image has loaded fade in image
$(this).animate({opacity : 1.0}, 1000);
//kill padding on last thumbnail of each line
$('#headshots img').eq(3).css({'padding-right' : '0'});
$('#ports img').eq(3).css({'padding-right' : '0'});
$('#ports img').eq(7).css({'padding-right' : '0'});
});
});
Заранее благодарим за любую помощь.
Работает как шарм я не знаю, что вы могли бы цепь, как, что в JQuery не могли бы вы объяснить. как последний (вызов функции() на конец функции нагрузки работает? Спасибо! – mattelliottIT 2010-12-11 21:22:07
@mattelliottIT - последний `.each` выполняет итерацию по каждому изображению, проверяя, что свойство` .complete` установлено, и если оно есть, то вручную отключите событие `.load`. Как правило, когда изображение «.complete», это событие «.load» не срабатывает, следовательно, ручное вмешательство, чтобы проверить, что изображение закончено, и инициировать его событие загрузки соответственно. Представьте, что одно из изображений уже было кэшировано браузером и сразу же извлекается из кеша без запуска события onload. Ваш обработчик события `.load` не будет срабатывать, поэтому вы не будете вести себя так, как ожидалось. :) – karim79 2010-12-13 17:32:47