@Evtera

Идеи по переключении слайдера при клике на одну из сторон?

Здравствуйте. Есть обычный слайдер swiper. Нужно сделать так, чтобы при клике на правую сторону слайдер переключался вправо. При клике влево соответственно влево.

Вариант с невидимыми стрелками не подходит, так как внутри слайдов есть кнопки-ссылки. Они должны быть кликабельными, а стрелки перекрывают их своим z-index
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@Evtera Автор вопроса
const qwe = () => {
const $container = document.querySelector(".swiper-container");
const container_width = $container.offsetWidth;
const container_side_width = container_width / 2;
const window_width = window.innerWidth;
const emptySpace = (window_width - container_width) / 2;

$container.addEventListener("click", (event) => {
if (event.clientX <= emptySpace + container_side_width) {
swiper.slidePrev(600);
} else {
swiper.slideNext(600);
}
});
};

qwe();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@veryGoodTrip
Самая здравая идея это сделать кнопки видимыми.
Теперь к нездоровым:
Можно получит координаты углов контейнера, затем координаты прямоугольников половинок контейнера.
При клике смотреть в какую половину попадает клик и переключать слайдер в нужном направлении.
В обработчике клика перед тем как проверять координаты нужно проверить что event.target на предмет того что это не "кнопки-ссылки", у кнопок ссылок в свою очередь должен быть железный признак, например специфический css класс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы