我是 jQuery 和 javascript 的新手,所以请原谅代码的不雅,但我正在尝试处理它,并希望得到任何人的帮助。
我正在尝试创建一个选项卡式菜单,该菜单采用单击的菜单项的 id 并显示具有相同 id 的内容 div。我让它为每个单独的菜单项和配对的内容 div 使用代码块,但我正在尝试添加变量,以便可以动态指定匹配的 id 并用于选择和显示正确的内容 div。
var clickedId;
var storedMenu;
var storedContent;
$(".nav ul li").click(function() {
clickedId = $(this).attr("id");
storedMenu = ("nav ul li#" + clickedId);
storedContent = (".content div#" + clickedId);
});
$(storedMenu).click(function(){
if ($(storedContent).hasClass("hidden"))
{
$(".content div:not('.hidden')").toggleClass("hidden");
$(storedContent).toggleClass("hidden");
$(".nav ul li:not('.filed')").toggleClass("filed");
$(storedMenu).toggleClass("filed");
}
});
当我在控制台中检查变量时,这些变量现在具有我想要的值,但显然没有传递给第二次单击函数。
仅供参考,以下是单个项目的功能模板:
$(".nav ul li#main").click(function(){
if ($(".content div#main").hasClass("hidden"))
{
$(".content div:not('.hidden')").toggleClass("hidden");
$(".content div#main").toggleClass("hidden");
$(".nav ul li:not('.filed')").toggleClass("filed");
$(".nav ul li#main").toggleClass("filed");
}
});
这是一个带有非功能变量版本(包括 html 和 css)的 jsFiddle:http: //jsfiddle.net/BHAyc/
提前致谢!