Jquery菜单-切换问题

Jquery menu - toggle problem

本文关键字:问题 菜单 Jquery      更新时间:2023-09-26

要了解问题所在,请参阅jsFiddle上的代码。有没有办法将带有类"menutop"的列表设置为类似于"toogle"类(+),换句话说,当单击帖子、页面等子菜单时就会显示出来。

困扰我的第二件事是如何设置菜单的行为,当一个子菜单被打开,用户点击另一个子菜单时,前一个子菜单会自动关闭。

我在toogle处理程序中命名了函数,并从菜单顶部调用它,将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")
     );
}
);

这是一个修订版。添加了一个close-all函数,然后我还为菜单顶部类添加了一种点击处理程序,它基本上可以做同样的事情来扩展选项卡。希望它能有所帮助!