Как вы закрываете любые открытые аккордеоны UIkit через JS? - PullRequest
0 голосов
/ 13 декабря 2018

По умолчанию, щелчок строки подменю UIkit nav accordion закроет все уже открытые подменю, поскольку они открывают свое собственное.Но если вы щелкнете по строке навигации не подменю, она НЕ закроет уже открытые подменю.Документы (https://getuikit.com/docs/nav#accordion) выполняются аналогичным образом.

Я считаю, что такое поведение противоречиво и нежелательно. В идеале должен быть метод UIkit.nav(element).reset();, чтобы закрыть все открытые пункты меню, но ни один из них не существует.

Я предполагаю, что мне нужно использовать встроенное событие click, но я не знаю, как к этому подойти. Документы и примеры UIkit JS немногочисленны, что еще больше усложняет задачу.

1 Ответ

0 голосов
/ 13 декабря 2018

Мой обходной путь здесь ... https://codepen.io/neokio/pen/OrMNZY ... который в основном включает в себя поиск индекса через ...

var open_index = $('#left-col > div > ul > li.uk-open').index('.uk-parent');

... и затем собственный метод переключения UIkit...

UIkit.nav('.uk-nav-default').toggle(open_index, true);

Спасибо @zzseba78 на gitter.im за помощь в уточнении индекса.

...