При клике на изображение к его ссылке добавляется класс class="active"
как на JQuery прокрутить картинки в блоке id="bx-pager"
к ссылке с классом active
#bx-pager {
border:1px solid #000;
height: 120px;
overflow: hidden;
width:370px;
}
<div id="bx-pager">
<a data-slide-index="0" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="1" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="2" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="3" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="4" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="5" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="6" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="7" href=""><img src="http://placehold.it/120x120"/></a>
</div>
Так?:
$('a').on('click', function(e){
e.preventDefault();
if(!$(this).hasClass('active')){
$(this).addClass('active')
.siblings()
.removeClass('active');
} else {
$(this).removeClass('active');
}
$('#bx-pager').animate({
scrollLeft: $(this).offset().left
}, 1000);
});
#bx-pager {
border:1px solid #000;
height: 120px;
width:360px;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap; /* чтобы картинки стояли в одну линию, не переходя на другую строку */
word-wrap: normal; /* то же для IE */
}
a {
display: inline-block;
border: 1px solid #ccc;
}
.active {
border: 1px solid red;
}
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<div id="bx-pager">
<a data-slide-index="0" href="" class="active"><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="1" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="2" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="3" href=""><img src="http://placehold.it/120x120"/></a>
</div>
Вариант 2:
$('a').on('click', function(e){
e.preventDefault();
if(!$(this).hasClass('active')){
$(this).addClass('active')
.siblings()
.removeClass('active');
} else {
$(this).removeClass('active');
}
$('#bx-pager').animate({
scrollLeft: $(this).offset().left
}, 1000);
});
$('#bx-pager').animate({
scrollLeft: $('.active').offset().left
}, 1000);
#bx-pager {
border:1px solid #000;
height: 120px;
width:360px;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap; /* чтобы картинки стояли в одну линию, не переходя на другую строку */
word-wrap: normal; /* то же для IE */
}
a {
display: inline-block;
border: 1px solid #ccc;
}
.active {
border: 1px solid red;
}
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<div id="bx-pager">
<a data-slide-index="0" href="" ><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="1" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="2" href=""><img src="http://placehold.it/120x120"/></a>
<a data-slide-index="3" href="" class="active"><img src="http://placehold.it/120x120"/></a>
</div>
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Создать программу тест на JQuery, каждый отдельный вопрос хранится в виде объектаИнформация которая относится к вопросу имеет следующие характеристики:...
Я сделал свой слайдер на jquery, но после загрузки или обновления страницы почему-то вторая картинка в слайдере влазит в зону видимости первой...