自动转换为下拉列表的网站导航栏 2014年8月25日前端sheng00 网站的导航栏是很重要的一部分,无论用户使用的是什么样的屏幕,你的导航栏都应该是可见且美观的。 如果用户的屏幕比较窄,就需要对导航栏进行处理,这里提供了一个依靠js来判断和切换导航栏为下拉列表的方法,供大家参考。 正常状态(用户屏幕宽度足够) 下拉列表状态(导航栏宽度超过用户屏幕) 这个时候点击“Menu”,可以打开和关闭菜单。 代码在下面的框里,点击下面的运行按钮可以看到页面。 <html> <head> <meta name="viewport" content="width=device-width" /> <title>自动转换为下拉列表的网站导航栏</title> <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script> <style> #autocollapse .menu{ display: none; text-align: center; width: 100%; cursor: pointer; } #autocollapse.collapsed .menu{ display: block; } .nav{ border-bottom: 1px solid #ededed; border-top: 1px solid #ededed; margin: 0; padding: 0; } .nav>li{ display: inline-block; text-align: center; } .nav>li>a { display: block; padding: 10px 15px; } #autocollapse.collapsed .nav{ display: none; } #autocollapse.collapsed.active .nav{ display: block; } #autocollapse.collapsed .nav>li{ display: block; } </style> <script type="text/javascript"> function autocollapse() { var navbar = $('#autocollapse'); navbar.removeClass('collapsed'); // 默认 if(navbar.innerHeight() > 50) // 超过一行 navbar.addClass('collapsed'); // 换成下拉列表 } $(function(){ autocollapse(); $("#autocollapse .menu").click(function(){ $("#autocollapse").toggleClass("active") }); window.onresize = autocollapse; }); </script> </head> <body> <nav id="autocollapse"> <a class="menu">Menu</a> <ul class="nav" id="nav"> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> </ul> </nav> </body> </html> 提示:你可以先修改部分代码再运行。 相关