Я создаю карусель изображений с вставкой/выводом анимации с javascript и jquery.Текущее изображение мерцает назад после исчезновения в карусели javascript
Перед тем, как следующие изображения затухают, текущее изображение отображается ненадолго, хотя оно исчезло. Это происходит, хотя я использую onload, чтобы убедиться, что следующее изображение загружено и правильно определено. (Живой код: www.jbkphotographs.com/nepal.html)
function moveToNextImg(){
if(current === imgArray.length-1){
current = 0;
}
else{
current++;
}
updateIndex();
//#imgWrapper is <div> that contains <img>
$("#imgWrapper").fadeOut("slow",loadImg);
}
function loadImg(){
imgName = imgArray[current].getAttribute("src");
nextImg.src = imgName.replace("_Thumb","");
nextImg.id = "currentImg";
nextImg.onload = function(){
if((nextImg.height) > (nextImg.width)){
nextImg.style.width = "42.5%"
}
else{
nextImg.style.width = '750px';
}
imgWrapper.appendChild(nextImg);
}
$("#imgWrapper").fadeIn("slow");
}
Спасибо для ответа. Быстрый вопрос: в моем исходном коде fadeIn следует после загрузки. Не гарантирует ли это, что fadeIn происходит после загрузки изображения, даже если он не включен внутри обработчика события onload? – user3562812
Событие onload является асинхронным, оно будет работать, когда изображение загрузится, оно не является линейным по отношению к коду, все за пределами onload будут работать сразу – albanx