Я пытаюсь создать простую страницу портфолио. У меня есть список превью и изображение. При нажатии на большой палец изображение изменится.
При нажатии на миниатюру я бы хотел, чтобы изображение исчезло, подождите, пока оно не загрузится, а затем снова вернется. У меня сейчас проблема в том, что некоторые изображения довольно большие, поэтому затухает, затем сразу возвращается, иногда, когда изображение все еще загружается.
Я бы хотел избежать использования setTimeout, поскольку иногда изображение загружается быстрее или медленнее, чем время, которое я установил.
Вот мой код:
$(function() {
$('img#image').attr("src", $('ul#thumbs li:first img').attr("src"));
$('ul#thumbs li img').click(function() {
$('img#image').fadeOut(700);
var src = $(this).attr("src");
$('img#image').attr("src", src);
$('img#image').fadeIn(700);
});
});
<img id="image" src="" alt="" />
<ul id="thumbs">
<li><img src="/images/thumb1.png" /></li>
<li><img src="/images/thumb2.png" /></li>
<li><img src="/images/thumb3.png" /></li>
</ul>