【发布时间】:2017-03-29 07:47:09
【问题描述】:
我必须在移动设备上显示菜单。当用户单击菜单栏图标时,菜单将在屏幕上显示完整的背景颜色,并出现十字符号。点击十字标志菜单后将关闭。我尝试了一些无法正常工作的代码。我需要简单和最佳的答案。能帮我吗?
$(function() {
var menuVisible = false;
$('#menuBtn').click(function() {
$("#main-list").slideDown();
//manu bar will hide after clicked
$('#menuBtn').css({'display': 'none'});
//cross sign will displya after clicked menu bar
$('#menu-close-sign').css({'display': 'block' });
$('#menuBtn').click(function() {
$("#main-list").show();
$('#menu-close-sign').show();
$('#menu').css({'background-color': '#F4FAFF', 'height': '100%'});
$('#menuBtn').hide();
});
$('#menu-close-sign').click(function() {
$("#main-list").hide();
$('#menu-close-sign').hide();
$('#menuBtn').show();
$('#menu').css({'background-color': '#fff', 'height': '50px'});
// $(".right_side").slideUp();
});
if (menuVisible) {
$('.right_side').css({'display': 'none' });
menuVisible = false;
return;
}
$('.right_side').css({'display': 'block'});
$('.menu').css({'background-color': '#F4FAFF', 'height': '100%'});
menuVisible = true;
});
});
body{
margin: 0;
padding: 0;
}
#menu
{
background-color: #fff;
height: 70px;
z-index: 999;
webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.24);
-moz-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.24);
box-shadow: 0 3px 4px rgba(0, 0, 0, 0.24);
}
.menu-section
{
padding: 0 30px;
}
.menu-left-side
{
float: left;
}
.icon-bar-menu, #menu-close-sign
{
display: none;
}
.menu-right-side
{
float: right;
margin: 22px;
}
ul#main-list{
list-style: none;
text-transform: uppercase;
}
ul#main-list li{
float: left;
margin: 0 20px;
}
ul#main-list li a{
color: #212F3D;
}
ul#main-list li a:hover
{
color: #ffb902;
}
@media only screen and (max-width: 600px) {
.menu-left-side
{
float:none;
padding: 0;
margin: 0;
}
.icon-bar-menu
{
position: absolute;
right: 10px;
top: 9px;
padding: 10px 20px;
cursor: pointer;
display: block;
}
.icon-bar-menu i{
font-size: 25px;
color: #000;
}
.menu-right-side
{
margin:20px 0;
}
ul#main-list
{
padding:0;
}
ul#main-list li, .menu-right-side
{
float:none;
}
ul#main-list li
{
margin:20px 0;
}
#menu
{
height:100%;
width: 100%;
background-color: #64d0e7 !important;
}
ul#main-list li a
{
color:#000;
}
#menu-close-sign
{
display:none;
}
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--menu-->
<div id="menu">
<div class="menu-section">
<div class="menu-left-side">
<div class="logo-section">
<a href="index.php"><h2>logo</h2></a>
</div><!--logo-section-->
</div><!--menu-left-side-->
<div class="menu-right-side">
<div class="icon-bar-menu">
<span id="menuBtn"><i class="fa fa-bars" aria-hidden="true"></i></span>
<span id="menu-close-sign"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>
<ul id="main-list">
<li> <a href="index.php">home</a></li>
<li><a href="about.php">about</a></li>
<li><a href="services.php">services</a></li>
<li><a href="news.php">news</a></li>
<li><a href="contactus.php">contact</a></li>
</ul><!--main-list-->
</div><!--menu-right-side-->
</div><!--menu-section-->
</div><!--menu-->
【问题讨论】:
-
您想要一种简单的方法来制作汉堡菜单吗?你试过引导程序吗?这肯定是更简单的方法。
-
感谢 Andre 先生的回复,我知道 bootstrap,但我不想使用它。有什么办法可以减少我的脚本?并使用下拉菜单
标签: javascript jquery html css media-queries