【发布时间】:2011-09-21 03:57:37
【问题描述】:
我正在为可折叠的垂直菜单而苦苦挣扎。下面脚本的第一部分有效,因此上层 UL 显示其兄弟 LI,而其他 UL 隐藏其兄弟 LI。 我的艰巨任务(至少对我而言)是使活动链接的父 UL 保持其兄弟 LI 可见。这是我在脚本下部尝试过的。 我的 a 链接有时会得到一个尾随哈希 (#),我想将其删除以便将 i 与活动 URL 进行比较。这是通过 trimHash(string) 函数完成的——该函数在对简单字符串进行测试时有效,但在此脚本中无效。 有什么好的建议吗?
$(document).ready(function() {
// Collapse everything but the first menu:
$(".mainmenu > li > a").not(":first").find("+ ul").slideUp(1);
// Expand or collapse:
$(".mainmenu > li > a").click(function() {
$(this).find("+ ul").slideToggle("fast");
});
$(".mainmenu li").each(function () {
var li = $(this);
var a = rtrimHash(li[0].firstChild);
if (a.href == location.href) {
$(this).find("+ ul").slideDown(1);
}
});
【问题讨论】:
标签: javascript menu folding