我最近更改了我的标记,从那以后我的 jQuery 切换功能不再起作用。我试图处理这个问题,但我有一些我不知道如何解决的要求。
这是我想要实现的目标:
单击链接 1 或 2 幻灯片切换其 ul(带有子链接 1 等)
单击子链接 1 或 2 幻灯片切换其 ul(使用 Snippet 1 等)
单击任何关闭的元素,它应该关闭任何其他打开的元素。意味着当链接 2 打开并且我单击链接 1 时,链接 2 应该关闭。当子链接 2 打开并且我单击子链接 1 时,子链接 2 应该关闭。重要的是:当链接 1 下的子链接 1 打开时,我单击链接 2,然后再次单击链接 1,子链接 1 应该关闭,而不是仍然打开
在同一元素上单击两次不应同时切换进出
应该可以有例如Link x、Sublink x AND Snippet x 以及“活动”类,这样就可以知道他到底在哪里(活动= 其他背景颜色)。所以我的 toggleClass 不是那么正确..
为了能够更改列表元素的外观,您必须将显示模式从更改none
为block
$("#sidebar-left .submenu-ebene2").css('display', 'block');
$("#sidebar-left .submenu-ebene3").css('display', 'none');
任何帮助表示赞赏。感谢您抽出宝贵时间!
这是jQuery:
$("#sidebar-left .submenu-ebene2").css('display', 'none');
$("#sidebar-left .submenu-ebene3").css('display', 'none');
$("ul > li.closed").click(function (e) {
if (e.target === this) {
$(this).siblings("li.open").find(" > ul").slideToggle('fast', function () {
$(this).parents("li.open:first").toggleClass("open closed");
});
$(this).toggleClass("closed open").find(" > ul").slideToggle('fast');
}
});
$(".link").click(function(e) {
$(".active").toggleClass("inactive active");
$(this).addClass("active").removeClass("inactive");
});