Jquery菜单 - 切换问题

时间:2011-05-26 17:47:16

标签: javascript jquery menu

要查看有什么问题,请参阅jsFiddle上的代码。有没有办法设置列表与“menutop”类似“toogle”类(+),换句话说单击帖子,页面和所以在子菜单上显示出来。

困扰我的第二件事是如何设置菜单以便在打开一个子菜单时,用户点击其他子菜单,之前打开以自动关闭。

2 个答案:

答案 0 :(得分:1)

Here's a revision.添加了一个关闭所有函数,然后我还为菜单顶级类添加了一个单击处理程序,它基本上用于扩展选项卡。希望它有所帮助!

答案 1 :(得分:1)

我在toogle处理程序中命名了该函数,并从menutop中调用它,将toggle类元素设置为“this”,因此您看起来更熟悉。

我刚刚添加了一行,确保一次只能打开一个部分

function hitMe(){
   if ($(this) .hasClass('toggle-open')) {
     $(this) .removeClass('toggle-open') .addClass('toggle-closed') .empty('') .append('+') .parents('li') .children('ul') .slideUp(250);
     $(this) .parent('.menutop') .removeClass('menutop-open') .addClass('menutop-closed');
   }else{
     $(".toggle-open").parent().click();//closes the previously opened menu
     $(this) .parent('.menutop') .removeClass('menutop-closed') .addClass('menutop-open');
     $(this) .removeClass('toggle-closed') .addClass('toggle-open') .empty('') .append('–') .parents('li') .children('ul') .slideDown(250);
 }
}

$(".menutop").click(function(){
     hitMe.apply(
         $(this).find(".toggle")
     );
}
);