我有一个全宽菜单,目前可以在悬停时使用。我想要完全相同的功能,但单击而不是鼠标悬停。我只想使用一些 jQuery 或 JavaScript 来实现此功能。
这是代码
HTML
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Tutorials</a>
<ul>
<li><a href="#">Photoshop</a></li>
<li><a href="#">Illustrator</a></li>
<li><a href="#">Web Design</a>
<ul>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Articles</a>
<ul>
<li><a href="#">Web Design</a></li>
<li><a href="#">User Experience</a></li>
</ul>
</li>
<li><a href="#">Inspiration</a></li>
</ul>
</nav>
CSS
nav {
text-align:center;
width: 100%;
background: #bebebe;
padding: 0;
margin: 0;
height: 60px;
position:relative;
}
nav ul {
background: #bebebe;
list-style:none;
padding:0 20px;
margin: 0;
height: 60px;
}
nav ul li {
display: inline-block;
}
nav ul li a {
color:#333333;
display:block;
padding:0px 40px;
text-decoration:none;
float: left;
height: 60px;
line-height: 60px;
}
nav ul li:hover {
background: #333333;
}
nav ul li:hover > a{
color:#FFFFFF;
}
nav ul li:hover > ul {
display:block;
}
nav ul ul {
background: #BEBEBE;
padding:0;
text-align: center;
display:none;
width: 100%;
position: absolute;
top: 60px;
left: 0px;
}
如果您想在此处查看实际效果,请点击链接。 Please click here to see the menu in action
这是您的解决方案:
我已经用更新的代码 fork 你的 jsfiddle。请看一下
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Tutorials</a>
<ul>
<li><a href="#">Photoshop</a></li>
<li><a href="#">Illustrator</a></li>
<li><a href="#">Web Design</a>
<ul>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Articles</a>
<ul>
<li><a href="#">Web Design</a></li>
<li><a href="#">User Experience</a></li>
</ul>
</li>
<li><a href="#">Inspiration</a></li>
</ul>
</nav>
nav {
text-align:center;
width: 100%;
background: #bebebe;
padding: 0;
margin: 0;
height: 60px;
position:relative;
}
nav ul {
background: #bebebe;
list-style:none;
padding:0 20px;
margin: 0;
height: 60px;
}
nav ul li {
display: inline-block;
}
nav ul li a {
color:#333333;
display:block;
padding:0px 40px;
text-decoration:none;
float: left;
height: 60px;
line-height: 60px;
}
/*nav ul li:hover {
background: #333333;
}
nav ul li:hover > a{
color:#FFFFFF;
}
nav ul li:hover > ul {
display:block;
}*/
nav ul ul {
background: #BEBEBE;
padding:0;
text-align: center;
display:none;
width: 100%;
position: absolute;
top: 60px;
left: 0px;
}
$(document).ready(function(){
$('li').on('click',function(){
$(this).siblings('li').not(this).find('a').css('color','#333333');
$(this).siblings('li').not(this).find('ul').css('display','none');
$(this).siblings('li').not(this).css('background','#BEBEBE');
$(this).find('a').css('color','#FFFFFF');
$(this).find('ul').css('display','block');
$(this).css('background','#333333');
});
});
JSFIDDLE
我是一名优秀的程序员,十分优秀!