Задать вопрос
raselgit
@raselgit
Веб-дизайнер

Как правильно задать $(this) в настройках плагина?

У меня на странице две абсолютно одинаковые секции Каталога, просто с разными типами товаров. Когда они не помещаются в видимую область, я включаю слайдер Sly, вот код:
// Catalog Carousel
if( $(window).width() <= 1200 ) {
	$('.catalog__wrap').each(function() {
		$(this).sly({
			dragHandle: true,
			dynamicHandle: true,
			elasticBounds: true,
			horizontal: true,
			itemSelector: '.catalogItem',
			mouseDragging: true,
			scrollBar: '.catalog__scrollbarLine',
			speed: 200,
			touchDragging: true
		});
	});
}

Прогнал через each, чтобы он отдельно подключился к каждой секции и слайдер работает. Но есть параметр scrollBar, в который я помещаю название класса, но он применяется только к скроллу в первом слайдере.

Как мне сделать так, чтобы он работал на обеих секциях?
  • Вопрос задан
  • 118 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
scrollBar: '.catalog__scrollbarLine',

применяется только к скроллу в первом слайдере

Раз указали селектор, значит используется первый соответствующий ему элемент - конечно же, всегда один и тот же. Надо для каждого слайдера указывать его собственный .catalog__scrollbarLine, а значит их необходимо искать, отталкиваясь от элемента слайдера. Попробуйте указать $('.catalog__scrollbarLine', this).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
villiwalla
@villiwalla
HTML-верстка
each принимает несколько аргументов их и используй
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы