【问题标题】:How can I add submenu to this responsive menu?如何向此响应式菜单添加子菜单?
【发布时间】:2015-06-24 06:07:37
【问题描述】:

我有这个响应式导航。但是我不能在这个导航中添加多级子菜单。 如何向此添加多级子菜单 responsive navigation link

【问题讨论】:

  • 我看到了您的示例链接。您希望子菜单何时显示?是悬停还是点击

标签: jquery html css responsive-design navigation


【解决方案1】:

做了一些改动

我已经更新了小提琴子项也在切换。

注意:必须对 CSS 进行更改,以处理功能

桌面版

您可以编写以下脚本 任意宽度

 if($(window).width()>"760")  {
    $("ul.main li").on("click",function(){
       if($(this).closest("li").children("ul").length) {  if($(this).hasClass("subOpen")){  
         $(this).removeClass("subOpen");
         $(this).find("ul.submenu").hide(300);
       }
       else {                                                 
       $(this).addClass("subOpen");
       $(this).find("ul.submenu").show(300);
       }
                                                       }
       });
    }

手机版

//MENU TOGGLE FUNCTION
     $('.rmm-button').click(function(){
            // $('.rmm-toggled, .rmm-toggled .rmm-button').click(function(){
                if ( $(this).is(".rmm-closed")) {
                    alert($(this).parent().parent().html());
                     $(this).parent().parent().find("ul.main").show(300);
                     $(this).removeClass("rmm-closed");
                }
                else {
                    alert($(this).html());
                    $(this).find('ul').stop().hide(300);
                     $(this).addClass("rmm-closed");
                }

            }); 

//SUBMENU TOGGLE FUNCTION
  $(".rmm-toggled ul li").on("click",function(){
     if($(this).closest("li").children("ul").length) {
           if($(this).hasClass("subOpen")){
           $(this).removeClass("subOpen");
           $(this).find("ul.submenu").hide(300);
         }
         else{
         $(this).addClass("subOpen");
         $(this).find("ul.submenu").show(300);
         }


     }

Here's Fiddle

【讨论】:

  • 是的,这很好,在移动视图中可以正常工作jsfiddle.net/vaibviad/hh16upps/2 但这不起作用(子菜单未显示)桌面视图分辨率如 1024px
  • @SubhajitPanja 更新了答案.. 看看
【解决方案2】:

我认为你使用了http://responsivemobilemenu.com/en/。它仍然不应该具有该功能。他们在他们的网站上清楚地记下了。一些严重的代码破解可能会给你一个解决方案。否则有很多好的插件可以满足您的要求。

【讨论】:

  • 如果您需要帮助,请进一步告诉我!
【解决方案3】:

如果要添加子菜单,请在li 内添加一个新的ul 标签:

<ul class="menu">
    <li><a href='#home'>Home</a></li>
    <li>
        <a href='#about-me'>About me</a>
        <ul class="submenu">
            <li><a href='#'>SubItem</a></li>
        </ul>
    </li>
    ...
</ul>

然后使用一些 CSS 和 JS 代码,您可以创建一个漂亮的响应式菜单。

CSS

.submenu {
    display: none;
}

JS

$('.menu > li').hover(function() {
   // Show submenu
   $(this).find('> ul.submenu').show();
}, function() {
   // Hide submenu
   $(this).find('> ul.submenu').hide();
});

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-08
  • 2018-07-02
  • 2014-08-08
  • 1970-01-01
相关资源
最近更新 更多