如何一次只打开一个子菜单

希达特·拉曼(Hidayt rahman)

我已经做出了响应式菜单。这很好。

但是问题是这样。我想一次打开一个菜单。

当打开一个子菜单时,应该隐藏另一个菜单吗?

我怎样才能做到这一点?

这是我的脚本代码

$('.moremain').click(function(){
    $(this).next('.hrmenu ul ul').slideToggle();
    $(this).toggleClass("active");
});

这是我的菜单

ka

这是一个工作示例。

$(document).ready(function(){

	$('.hrmenu > ul').before("<span class='main'></span>");	
	$('.hrmenu ul ul').before("<span class='moremain'></span>");	
	
	

	
	$('.main').click(function(){
		
		$('.hrmenu > ul').slideToggle();
	});
	
	$('.moremain').click(function(){
		
		
		$(this).next('.hrmenu ul ul').slideToggle();
        $(this).parents('li').eq(0).siblings().each(function(){
        var _toggle = $(this).find('.moremain').eq(0);
            if(_toggle.hasClass("active")){
                 _toggle.removeClass("active");
                 $(this).find('ul').eq(0).slideToggle();
            }
       
        });
		$(this).toggleClass("active");
	});
	
	
	$(window).resize(function(){
		
		if(window.screen()> 1000)
		{
			$('.hrmenu ul').show();
		}
	});
	
	
});
*{margin:0px;padding:0px}
.hrmenu{max-width:1000px;margin:0px auto}
.hrmenu ul{background:#06C;}
.hrmenu ul:after{content:"";display:block;clear:both}
.hrmenu ul li{float:left;position:relative;list-style-type:none;margin:1px;}
.hrmenu ul li a{padding:5px;text-decoration:none;font-size:16px;font-family:arial;color:#fff;margin:1px;display:inline-block;  }
.hrmenu ul li a:hover{background:#39C}

.hrmenu ul li:hover > ul{display:block}
.hrmenu ul li ul{display:none;position:absolute;width:140px;left:0}
.hrmenu ul li ul li{width:100%;background:#069;}
.hrmenu ul li ul li ul{left:100%;top:0;width:200px;}
.hrmenu ul li ul li ul li{background:#336;}

.hrmenu ul li ul li ul li ul li{background:#366;}

.main{display:none;height:19px;background:#003   url(threelines.png) no-repeat;cursor:pointer;text-align:right; }
.moremain{height:19px;display:none;width:19px;background:green;cursor:pointer;position:relative;  text-align: center;
  display: none;color:#fff}
.moremain:after{content:' + '; font-size:18px;}
.active{background:orange;display:none;  text-align: center; }
.active:after{content:' - '; font-size:18px;color:#fff;}
@media screen and (max-width:1000px)
{
	.moremain{ display: inline-block;}
	.main{ display: block;}
	.hrmenu ul{background:none}
	.hrmenu ul li{float:none;  background: rgb(5, 27, 61);}
	.hrmenu ul{display:none}
	.hrmenu ul li:hover > ul{display:none}
	.hrmenu ul li ul{width:98%}
	.hrmenu ul li ul{position:relative}
	.hrmenu ul li a{width:86%}
	.hrmenu ul li{width:98%}
	.hrmenu ul li ul li ul{width:100%}
	.hrmenu ul li ul li ul{left:0}
	
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class='hrmenu'>
<ul>
   <li><a href='#'>Home</a></li>
   <li><a href='#'>Products</a>
      <ul>
         <li><a href='#'>Product 1</a>
            <ul>
               <li><a href='#'>Sub Product</a></li>
               <li><a href='#'>Sub Product</a></li>
            </ul>
         </li>
         <li><a href='#'>Product 2</a>
            <ul>
               <li><a href='#'>Sub Product Sub</a>
               	<ul>
                   <li><a href='#'>Sub Product</a></li>
                   <li><a href='#'>Sub Product</a></li>                    </ul>
               </li>
               <li><a href='#'>Sub Product</a></li>
            </ul>
         </li>
      </ul>
   </li>
   <li><a href='#'>About</a></li>
   <li><a href='#'>Contact</a></li>
</ul>
</div>

说明:对于每个lis切换开关,如果其moremain开关具有活动类,则切换其第一个ul。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何一次只打开一个子菜单

来自分类Dev

一次只打开一个滑块

来自分类Dev

如何一次只打开一个弹出窗口?

来自分类Dev

切换菜单,一次使用纯JavaScript打开一个菜单

来自分类Dev

一次只打开一个信息窗口谷歌地图

来自分类Dev

设置一个窗口只打开一次,除非需要

来自分类Dev

一次只打开一个信息窗口谷歌地图

来自分类Dev

一次只打开一个信息窗口

来自分类Dev

一次仅打开一个引导程序下拉菜单

来自分类Dev

在jsTree中打开一个子节点

来自分类Dev

用链接打开一个子窗口?

来自分类Dev

在jsTree中打开一个子节点

来自分类Dev

一次仅打开一个滑块

来自分类Dev

一次打开一个元素

来自分类Dev

jQuery一次打开一个部分

来自分类Dev

一次打开一个标题

来自分类Dev

如何一次打开一个下拉列表?

来自分类Dev

如何一次只允许打开一个扩展垫面板?

来自分类Dev

如何一次打开一个下拉列表?

来自分类Dev

Bootstrap 3菜单-两个折叠按钮-一次只能打开一个

来自分类Dev

Bootstrap 3菜单-两个折叠按钮-一次只能打开一个

来自分类Dev

Android 抽屉只打开一次

来自分类Dev

如何确保一个活动仅在多次按下按钮后才打开一次

来自分类Dev

我想在React中创建一个下拉列表。单击一个按钮应打开一个子菜单。在子菜单外单击应将其关闭

来自分类Dev

我想在React中创建一个下拉列表。单击一个按钮应打开一个子菜单。在子菜单外单击应将其关闭

来自分类Dev

“ Firefox的一个副本已经打开。一次只能打开一个Firefox副本。”

来自分类Dev

Bootstrap DateTimePicker:一次打开一个datetimepicker

来自分类Dev

Google Maps API-一次仅打开一个信息窗口

来自分类Dev

javascript / Jquery弹出窗口-一次只能打开一个弹出窗口

Related 相关文章

  1. 1

    如何一次只打开一个子菜单

  2. 2

    一次只打开一个滑块

  3. 3

    如何一次只打开一个弹出窗口?

  4. 4

    切换菜单,一次使用纯JavaScript打开一个菜单

  5. 5

    一次只打开一个信息窗口谷歌地图

  6. 6

    设置一个窗口只打开一次,除非需要

  7. 7

    一次只打开一个信息窗口谷歌地图

  8. 8

    一次只打开一个信息窗口

  9. 9

    一次仅打开一个引导程序下拉菜单

  10. 10

    在jsTree中打开一个子节点

  11. 11

    用链接打开一个子窗口?

  12. 12

    在jsTree中打开一个子节点

  13. 13

    一次仅打开一个滑块

  14. 14

    一次打开一个元素

  15. 15

    jQuery一次打开一个部分

  16. 16

    一次打开一个标题

  17. 17

    如何一次打开一个下拉列表?

  18. 18

    如何一次只允许打开一个扩展垫面板?

  19. 19

    如何一次打开一个下拉列表?

  20. 20

    Bootstrap 3菜单-两个折叠按钮-一次只能打开一个

  21. 21

    Bootstrap 3菜单-两个折叠按钮-一次只能打开一个

  22. 22

    Android 抽屉只打开一次

  23. 23

    如何确保一个活动仅在多次按下按钮后才打开一次

  24. 24

    我想在React中创建一个下拉列表。单击一个按钮应打开一个子菜单。在子菜单外单击应将其关闭

  25. 25

    我想在React中创建一个下拉列表。单击一个按钮应打开一个子菜单。在子菜单外单击应将其关闭

  26. 26

    “ Firefox的一个副本已经打开。一次只能打开一个Firefox副本。”

  27. 27

    Bootstrap DateTimePicker:一次打开一个datetimepicker

  28. 28

    Google Maps API-一次仅打开一个信息窗口

  29. 29

    javascript / Jquery弹出窗口-一次只能打开一个弹出窗口

热门标签

归档