Вложенный bxSlider

Я хотел бы иметь вертикальный ползунок карусели, и внутри каждого вертикального слайда у меня будет горизонтальный ползунок, я использую bxSlider, и он хорошо работает для вертикальной части ползунка, но когда я вставляю горизонтальную часть, горизонтальный ползунок не работает должным образом.

Есть идеи по этому поводу?


person Shabir A.    schedule 17.06.2015    source источник
comment
Есть ли что-нибудь, что вы пробовали?   -  person But I'm Not A Wrapper Class    schedule 17.06.2015
comment
Я пробовал все варианты, но не повезло, первый ползунок работает, а все остальные нет. также можно использовать любой другой слайдер, поддерживающий вложение.   -  person Shabir A.    schedule 17.06.2015


Ответы (2)


Сделать слайдер из нескольких слайдеров сложно даже с хорошо документированным, например bxSlider. К счастью, я уже сделал нечто похожее на то, что вы ищете. Я также не мог заставить двигаться горизонтальные дочерние ползунки, я думаю, это может быть связано с тем, что родительский ползунок перемещается вертикально. Я использовал опцию bxSlider preventDefaultSwipeY на родительском слайдере, но это было не очень интуитивно понятно, пользователю нужно было использовать кнопки для навигации. Поэтому вместо этого я изолировал горизонтальные ползунки с помощью фреймов. Каждый горизонтальный вложенный слайдер находится на своей странице, которая находится в том же каталоге главной родительской страницы. Вот демонстрация, в которой:

  • Вертикальная карусель на родительской странице.
  • 6 горизонтальных слайдеров, каждый на отдельной странице.
  • 6 фреймов вложены в вертикальную карусель.
  • Есть ручное и автоматическое управление 6 горизонтальными ползунками.
  • Есть набор синих стрелок для управления вертикальным ползунком.

Поскольку у вас нет опубликованного примера, это настолько близко, насколько я могу предположить. Надеюсь, это поможет.

person zer00ne    schedule 21.06.2015
comment
Спасибо за ответ, ваше решение - это то, что я ищу, но у меня нет известного количества строк в вертикальных ползунках, вертикальные строки в основном показывают количество пользователей, а горизонтальные ползунки показывают задачу, выполненную каждым пользователем во время неделю, поэтому в вашем случае, если у меня будет 100 пользователей, мне придется создать 100 файлов и фреймов, что не является жизнеспособным вариантом. Пожалуйста, поправьте меня, если я ошибаюсь!! - person Shabir A.; 25.06.2015
comment
Вы написали: _ ...когда я вставляю горизонтальную часть, горизонтальный ползунок не работает должным образом. Есть идеи по этому поводу?_ - person zer00ne; 25.06.2015
comment
Да, но я вставляю горизонтальную часть в вертикальные ряды карусели. - person Shabir A.; 25.06.2015
comment
Ваше решение — это то, что я ищу Хорошо. просто для ясности я показал вам вертикальный ползунок, а внутри этого вертикального ползунка находятся горизонтальные ползунки, верно? [ссылка] (jsfiddle.net/zer00ne/mwqfgaom/1) [ссылка] (imgur.com/0m6JqET) Вертикальный означает вверх и вниз и связан со столбцами, горизонтальный - справа и слева и связан с рядами. - person zer00ne; 26.06.2015
comment
Я предлагаю вам отредактировать свой вопрос и добавить демонстрацию, чтобы конкретно объяснить вашу проблему. Критерии ползунков с бесконечными вертикальными столбцами были не теми, что вы просили изначально. Вы упомянули более 100 пользователей после публикации своего вопроса. Теперь это бесконечные слайдеры. Имо, это совершенно новый вопрос. Желаю вам удачи, сэр, она вам понадобится. - person zer00ne; 27.06.2015

Для сайта, над которым я сейчас работаю, у нас есть слайдер на основе миниатюр внутри слайдера на основе миниатюр. Это не сработало, как ожидалось. Например, внутренний ползунок не переключал слайды при нажатии на миниатюры.

Что я нашел, чтобы исправить это, так это перезагрузить соответствующий внутренний слайдер при переключении внешнего слайдера, вызвав reloadSlider() на внутреннем слайдере. Убедитесь, что ваши внутренние слайдеры кэшированы в массиве, чтобы легко перезагрузить соответствующий слайдер. Легко использовать параметр onSlideAfter во внешнем слайдере, чтобы настроить функцию, которая перезагружает соответствующий внутренний слайдер после того, как внешний слайдер завершил свой переход.

К сожалению, простое использование параметра onSlideBefore для этого не работает. Я предполагаю, потому что перезагрузка произойдет слишком рано. Это можно обойти с помощью очень короткого setTimeOut. Настройте функцию onSlideBefore внутри внешнего ползунка, которая кэширует целевой слайд и устанавливает слегка отложенную перезагрузку для внутреннего ползунка.

Надеюсь это поможет!

person Jasper    schedule 20.11.2015