Многоуровневая вертикальная вкладка jquery

Я пытаюсь создать многоуровневые вертикальные вкладки со скрытым контентом, который становится видимым некоторыми jquery. Он работает нормально, но имеет одну проблему.

Из-за этого кода:

$(this).nextUntil("li.tabsclose").slideToggle();

Когда страница загружается в первый раз, отображаются все родительские категории, но если вы нажмете категорию с некоторыми подкатегориями, jquery скрывает все до следующего элемента с классом «tabsclose». Это проблема, потому что у меня есть некоторые родительские категории в конце списка.

Вот jsfiddle: https://jsfiddle.net/ebf6cdpe/

Большое вам спасибо за вашу помощь заранее!

РЕШЕНИЕ:

Проведя значительное время на поиск в Интернете, я использовал оператор if / else, чтобы иметь возможность закрыть родительские вкладки для повторного клика.

https://jsfiddle.net/ebf6cdpe/5/

javascript,jquery,html,jquery-ui-tabs,

0

Ответов: 1


0 принят

Этот конкретный элемент вызывает скрытие всех категорий родителей без подкатегорий:

$('.subtabs').not(this).nextUntil(".subtabs").slideUp();

Если вы удалите это, все родители без подкатегорий не исчезнут навсегда. Однако при открытии подкатегории все еще остается проблема с ними.

Вы должны иметь класс, который применяется ко всем родителям, которые вы можете использовать в качестве селектора в этом цикле:

$(this).nextUntil("li.tabsclose").slideToggle();

Я все еще не уверен на 100%, это то, что вам нужно, но вот обновленная версия:

https://jsfiddle.net/ebf6cdpe/1/

В любом случае вам может быть лучше использовать вложенные списки для ваших подкатегорий. https://www.w3.org/wiki/HTML_lists

JavaScript, JQuery, HTML, JQuery-UI-вкладка,
Похожие вопросы