Я пытаюсь создать простое слайд-шоу jQuery, которое не загружает все изображения при запуске, следующее изображение, которое будет использоваться, вместо этого будет загружаться асинхронно, чтобы уменьшить размер страницы.jQuery цикл слайд-шоу с асинхронно загруженными изображениями
У меня есть слайд-шоу, но предварительная загрузка следующего изображения, похоже, не работает полностью?
Exaple JQuery
var i = 2;
var total = 9;
var obj = setInterval(function(){
$(".slides_container img").fadeOut("slow", function(){
$(this).attr("src" ,"/images/slide-" + i + ".jpg").load(function() {
$(this).fadeIn();
});
});
if(i < total){
i++;
//Preload Next Image
(new Image()).src = "/images/slide-" + i + ".jpg";
}
else
i = 1;
}, 4000);
Возможная причина проблемы
линия под натягом комментарий, необходимо загрузить следующий файл, однако код выделен ниже, кажется, не использовать любые кэшированные изображения, но вместо этого вытащите их с сервера снова?
Я должен был использовать .load()
сделать .fadeIn()
работу правильно
$(this).attr("src" ,"/images/slide-" + i + ".jpg").load(function() {
$(this).fadeIn();
});
Вам нужно подключить событие нагрузки befo вы указываете SRC. –
@Diodeus Как его заказать в пределах нагрузки? '$ (". slides_container img "). fadeOut (" slow ", function() { $ (this) .load (function() { $ (". slides_container img "). attr (" src ","/изображения/слайд/выполнения слайд- "+ I +" .jpg "); \t \t \t \t $ (" slides_container IMG ") FadeIn();.. }); }); ' – Dan
$ (this) .load (...); в одной строке, тогда установка SRC будет второй. Вы можете столкнуться с ситуациями, когда изображение кэшируется и загружается до того, как обработчик события зарегистрирован в противном случае. –