将2个单独的菜单合并为一个菜单

编程入门 行业动态 更新时间:2024-10-28 02:35:59
本文介绍了将2个单独的菜单合并为一个菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在这样的页面上的不同位置有2个单独的菜单:

I have 2 separate menus in different places on a page like this:

<div class="TopNav"> <ul> <li><a href="">one</a></li> <li><a href="">two</a></li> <li><a href="">three</a></li> </ul> </div> <div class="LowerNav"> <ul> <li><a href="">Item 1</a></li> <li><a href="">Item 2</a></li> <li><a href="">Item 3</a></li> </ul> </div>

有没有办法可以在全宽样式切换下拉时将两个导航组合下来设备宽度小于768?

Is there a way a can combine both of the navigations in a full width style toggle drop down when the device width is less the 768?

因此它们将转为:

<div class="BothNav"> <ul> <li><a href="">one</a></li> <li><a href="">two</a></li> <li><a href="">three</a></li> <li><a href="">Item 1</a></li> <li><a href="">Item 2</a></li> <li><a href="">Item 3</a></li> </ul> </div>

推荐答案

只需 LIVE DEMO :

var $LowerNavLI = $('.LowerNav li'), $TopNav = $('.TopNav'); function navResize(){ var mob = window.innerWidth<768; $LowerNavLI.appendTo((mob?".TopNav":".LowerNav")+' ul'); $TopNav[mob?"addClass":"removeClass"]('BothNav'); } navResize(); $(window).resize(navResize);

......这是一种残忍行为:

现场演示

var $LowerNavLI = $('.LowerNav li'); function navResize(){ var winW = window.innerWidth; var appended = false; if(winW < 768 && !appended ){ appended = true; $LowerNavLI.appendTo('.TopNav ul'); $('.TopNav').addClass('BothNav'); }else{ appended = false; $LowerNavLI.appendTo('.LowerNav ul'); $('.TopNav').removeClass('BothNav'); } } navResize(); $(window).resize(function(){ navResize(); });

更多推荐

将2个单独的菜单合并为一个菜单

本文发布于:2023-10-19 14:26:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1507792.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:菜单   并为

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!