我有一个简单的jQuery脚本来显示/隐藏列表元素accordion-style以及一个全局布尔数组来保存显示/隐藏的列表。但是,当从显示/隐藏不同的子列表切换时,布尔数组未定义,即(我调用带有form_nav_links的函数来显示该列表,然后当我尝试显示help_nav_links之后,数组未定义且需要额外点击)。有人可以帮我解决这个问题吗?这就是我所拥有的:
var listsOn = Boolean[2];
listsOn = [false, false];
var form_links = 0, help_links = 1;
function toggleView(subList) {
var i;
switch(subList){
case "form_nav_links":
i = form_links;
break;
case "help_nav_links":
i = help_links;
break;
};
if(listsOn[i]){
$("." + subList).slideUp(1000);
listsOn[i] = false;
}
else {
$("." + subList).slideDown(1000);
listsOn[i] = true;
}
提前致谢!
答案 0 :(得分:1)
你真的应该在这里使用关联数组:
var listsOn = {
form_nav_links: false,
help_nav_links: false
};
function toggleView(subList) {
if(typeof listsOn[subList] !== 'undefined') {
if(listsOn[subList]{
$("." + subList).slideUp(1000);
listsOn[subList] = false;
}
else {
$("." + subList).slideDown(1000);
listsOn[subList] = true;
}
}
}
答案 1 :(得分:0)
我使用slideToggle()代替
解决了这个问题