Делаю галерею с миниатюрами
$(".show-image").click(function() {
event.preventDefault();
var mainImage = $(this).index();
$('.images img').removeClass('active');
$('.images img').eq(mainImage).addClass('active');
});
.container {display: flex;}
.images img {display: none; margin-right: 10px;}
.images .active {display: block}
.thumbs { position: relative; display: flex; flex-direction: column; flex-wrap: wrap; width: 80px; height: 105px; overflow: hidden; }
.thumbs a { display: inline-block; margin-right: 10px; }
.prev, .next {position: absolute; top: 40px; }
.next {position: absolute; right: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
<div class="images">
<img src="http://placehold.it/350x150?text=1" class="active"/>
<img src="http://placehold.it/350x150?text=2" />
<img src="http://placehold.it/350x150?text=3" />
<img src="http://placehold.it/350x150?text=4" />
<img src="http://placehold.it/350x150?text=5" />
<img src="http://placehold.it/350x150?text=6" />
<img src="http://placehold.it/350x150?text=7" />
<img src="http://placehold.it/350x150?text=8" />
</div>
<div class="thumbs">
<a href="http://placehold.it/350x150?text=1" class="show-image"><img src="http://placehold.it/30x30?text=1"></a>
<a href="http://placehold.it/350x150?text=2" class="show-image"><img src="http://placehold.it/30x30?text=2"></a>
<a href="http://placehold.it/350x150?text=3" class="show-image"><img src="http://placehold.it/30x30?text=3"></a>
<a href="http://placehold.it/350x150?text=4" class="show-image"><img src="http://placehold.it/30x30?text=4"></a>
<a href="http://placehold.it/350x150?text=4" class="show-image"><img src="http://placehold.it/30x30?text=5"></a>
<a href="http://placehold.it/350x150?text=4" class="show-image"><img src="http://placehold.it/30x30?text=6"></a>
<a href="http://placehold.it/350x150?text=4" class="show-image"><img src="http://placehold.it/30x30?text=7"></a>
<a href="http://placehold.it/350x150?text=4" class="show-image"><img src="http://placehold.it/30x30?text=8"></a>
<button class="prev"> < </button>
<button class="next"> > </button>
</div>
По умолчанию выводятся 6 миниатюр, остальные будут показываться при скролле влево. Как мне теперь сделать карусель миниатюр? Подключать сторонние плагины не хочу.
Рекомендую использовать Slick.js.
Но если хотите сделать свой собственный "велосипед", то клонируете n-1
миниатюр с конца и располагаете перед первой миниатюрой. И столько же миниатюр с начала - после последней. n
- это количество видимых миниатюр - 6 в Вашем случае.
При прокрутке влево-вправо переключаете видимость миниатюр на -1/+1. При достижении начала/конца набора, включающего клоны - переключаетесь на конец/начало оригинального набора.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
После перемещения на другой хостинг ошибкиПомогите пожалуйста исправить
Служба MySQL80 сама остановилась и отказывается запускатьсяВ файле WIN-MUGGRCO16SH