qq_34812547
2016-12-09 10:37
采纳率: 0%
浏览 8.5k

JQ怎么实现点击一级菜单,二级菜单显示和隐藏

想实现这样一个简单的菜单
点击我的收藏,二级菜单可以显示,再点击,二级菜单隐藏
二级菜单有5个li
图片说明
这样写有两个问题,1 点击一级菜单的文字,不会实现显示和隐藏。 2,点击二级菜单的li,也可以实现显示和隐藏。
正常情况应该是只有点击“我的收藏”,才会实现显示和隐藏。
求大神解答。。应该怎么写啊。。如果有现成的代码更好了,,感激不尽

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 陈 俊 刚 2016-12-09 10:46

    你把class="navmenu"放在我的收藏试下

    评论
    解决 无用
    打赏 举报
  • 安然无恙r 2016-12-09 10:57

    你可以设一个参数等于ture或者false,当点击展开时,那个参数等于false,当隐藏时则等于true

    评论
    解决 无用
    打赏 举报
  • qq_34812547 2016-12-09 11:07

    有没有小伙伴做过类似的列表,,能不能发出来参考一下。。。

    评论
    解决 无用
    打赏 举报
  •  $('.navmenu>a').click(function(){$(this).next().toggle()})
    
    评论
    解决 无用
    打赏 举报
  • lb42113958 2016-12-09 15:24

    一点小见解,,不对勿喷啊

    $(".wq a").toggle( function () { $(this).next().toggle(); }, function () { $(this).next().toggle(); } )
    评论
    解决 无用
    打赏 举报
  • lb42113958 2016-12-09 15:29

    控制.navmenu 下的a标签 的多次单击事件 让其下一个元素显示或隐藏,

    $('.navmenu a').toggle( function () { $(this).next().toggle(); }, function () { $(this).next().toggle(); } )
    ,你也可以控制其同辈的上下所有的元素,siblings(),这样如果你有多个一级菜单的话就比较好用了
    $(".wq a").toggle( function () { $(this).siblings().toggle(); }, function () { $(this).siblings().toggle(); } )

    评论
    解决 无用
    打赏 举报
  • jasondyoung 2016-12-09 15:32

    刚发现了遗漏
    其实是一级菜单要做动画
    $(".navmenu").slideToggle();//就行了

    评论
    解决 无用
    打赏 举报
  • jasondyoung 2016-12-09 15:33

    不知道你用的jquery版本,toggle()这个方式在1.9时已被移除
    既然是滑上滑下的菜单建议如下写法
    $(".navmenu").on("click",function(){
    $(this).find("li").slideToggle();
    })

    评论
    解决 无用
    打赏 举报
  • _堇年 2019-04-07 01:12

    不是应该这样写吗?

    $('.navmenu>a').click(function(){$(this).next("ul").toggle()})

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题