默认情况下,单击UIkit导航手风琴子菜单行将在打开任何自己的子菜单时将其关闭。但是,如果单击非子菜单导航行,它不会关闭已经打开的子菜单。文档(https://getuikit.com/docs/nav#accordion)的执行方式相同。
我发现这种行为前后矛盾且不受欢迎。理想情况下,有一种UIkit.nav(element).reset();
方法可以关闭所有打开的菜单项,但似乎不存在。
我的猜测是我需要使用内置的click
事件,但是我不知道如何解决这个问题。 UIkit JS文档和示例很少而且相差甚远,这增加了挑战。
答案 0 :(得分:0)
我的解决方法在这里... 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);
感谢gitter.im上的@ zzseba78帮助我完善了索引。