Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Перемещение элемента по клику (https://javascript.ru/forum/jquery/56625-peremeshhenie-ehlementa-po-kliku.html)

Eliot456 25.06.2015 19:52

Перемещение элемента по клику
 
Вложений: 1
Доброго дня уважаемые форумчане. Столкнулся со следующей задачей:
Нужно реализовать слайдер с превьюшками в виде серых прямоугольников, при активном окне контента соответствующая превьюшка желтая и при клике влево - вправо желтый прямоугольник перемещается тоже влево-вправо
Вложение 2734
Вот то что я сделал:
//Обработка клика на стрелку вправо
jQuery(document).on('click', ".carousel-button-right",function(){ 
	var carusel = jQuery(this).parents('.slider-over');
	right_carusel(carusel);
	jQuery('.active').next().addClass('active');
	jQuery('.active').prev().removeClass();
	return false;
});
//Обработка клика на стрелку влево
jQuery(document).on('click',".carousel-button-left",function(){ 
	var carusel = jQuery(this).parents('.slider-over');
	left_carusel(carusel);
	jQuery('.active').prev().addClass('active');
	jQuery('.active').next().removeClass();
	return false;
});

прямоугольник перемещается, но проблема возникает когда он находится в конце и в начале. Как сделать чтобы если он к примеру находится в конце справа при клике вправо он перемещался в начало влево? и наоборот. Желтый прямоугольник имеет класс .active

рони 25.06.2015 20:26

Eliot456,
не искать .prev() или next() а изменять переменную которая будет индексом текущего активного элемента, и на форуме много очень много решений для вашей задачи.
http://javascript.ru/forum/misc/5195...slajjdera.html

рони 25.06.2015 20:34

Eliot456,
второй путь проверять а есть ли jQuery('.active').next() или prev()
пример решения http://javascript.ru/forum/misc/1566...tml#post359788

Eliot456 25.06.2015 21:34

рони, Спасибо!


Часовой пояс GMT +3, время: 21:47.