gpt4 book ai didi

javascript - 如何将悬停替换为单击

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:27 24 4
gpt4 key购买 nike

我有一个全宽菜单,目前可以在悬停时使用。我想要完全相同的功能,但单击而不是鼠标悬停。我只想使用一些 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

关于javascript - 如何将悬停替换为单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46306813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com