Jquery菜单-切换问题

发布于 2024-11-10 02:33:48 字数 229 浏览 2 评论 0原文

要查看问题所在,请参阅 jsFiddle 上的代码。有没有一种方法可以使用类“menutop”设置列表” 的作用类似于“toogle”类 (+),换句话说,当单击帖子、页面等子菜单时就会显示。

困扰我的第二件事是如何将菜单设置为当打开一个子菜单并且用户单击其他子菜单时,前一个打开的子菜单会自动关闭。

To see what is the trouble see code on jsFiddle.Is there a way to set list with class "menutop" to act like "toogle" class (+), in other words when click Posts, pages and so on submenu is revealed.

Second thing that bothers me is how to set menu to behave in way that when one submenu is opened, and user click some other submenu, the previous opened to be closed automatical.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

意中人 2024-11-17 02:33:48

我在 Toogle 处理程序中命名了该函数,并从 menutop 中调用它,将切换类元素设置为“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")
     );
}
);

I named the function in the toogle handler and called it from menutop setting the toggle class element as "this" so it looks more familiar to you.

I just added a line that ensures that only one section could be open at a time

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")
     );
}
);
┼── 2024-11-17 02:33:48

这是一个修订版。 添加了关闭所有功能,然后我还为菜单顶部添加了单击处理程序类本质上做同样的事情来展开选项卡。希望有帮助!

Here's a revision. Added a close all function and then I also added a click handler for the menu-top class that does essentially the same thing to expand the tabs. Hope it helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文