我尝试创建一个垂直嵌套导航,在单击时打开一个标签。但是,嵌套级别中的链接会导致选项卡打开以启动行为不端。
我这里有一个JS小提琴,说明了问题:
https://jsfiddle.net/2v2qwnkc/1/
重现:
Home
。这将加载电话内容"按预期进入标签内容区域。Profile
。什么都不会发生。Phone
。个人资料内容会加载。非常感谢任何帮助。
答案 0 :(得分:0)
我相信您问题的核心是嵌套.nav
元素。
tab.js
插件的行为就像您的父母nav
是分开的。您可以通过一个简单的事实看出,它使两个元素同时具有一个.active
类:
实际问题似乎在插件的148
行上:
activeElements = $(container).children(Selector.ACTIVE)
children
方法仅返回父元素.nav
的直接子元素。 #phone-tab
是后代,而不是孩子,因此从不包括在内。
如果我们摆脱了嵌套的.nav
,则单击“主页”链接将起作用,但是“电话”将保持标记为活动状态。如果深入研究,我们发现负责删除.active
类的行仅适用于第一个元素:
const active = activeElements[0]
我的结论是,您需要大量修改此插件以使其适合您的情况,或者创建自己的自定义解决方案。