我已经建立了这个小提琴使用jQuery来选择顶级菜单,显示第二个菜单div使用一系列切换CSS和jQuery隐藏/显示。下拉菜单的jquery
这有效,但我是一个初学者,相对肯定有一个更简单,更简单的方法来写这段代码。例如更简单的方法来分配类并影响所有div或更好地使用this
。任何帮助表示赞赏。
$("#home").click(function() {
$(this).toggleClass("selected");
$(".secondMenu").hide();
$(".toggle").removeClass("selected");
$("#home1").toggle();
});
$("#profile").click(function() {
$(".toggle").removeClass("selected");
$(this).toggleClass("selected");
$(".secondMenu").hide();
$("#profile1").toggle();
});
$("#resume").click(function() {
$(".toggle").removeClass("selected");
$(this).toggleClass("selected");
$(".secondMenu").hide();
$("#resume1").toggle();
});
$("#work").click(function() {
$(".toggle").removeClass("selected");
$(this).toggleClass("selected");
$(".secondMenu").hide();
$("#work1").toggle();
});
$("#adventures").click(function() {
$(".toggle").removeClass("selected");
$(this).toggleClass("selected");
$(".secondMenu").hide();
$("#adventures1").toggle();
});
body {
padding: 0px;
margin: 0px;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-weight: 300;
}
#topBar {
margin: 0px;
height: 50px;
width: 100%;
background-color: #990000;
}
#mainMenu {
margin: 25px 0 0 0;
list-style: none;
float: right;
}
#mainMenu li {
float: left;
border-right: 1px solid white;
padding: 0 5px 0 5px;
color: white;
}
.selected {
background-color: #3E0C0D;
border: 1px solid black;
height: 100%;
}
.secondMenu {
position: relative;
height: 30px;
width: 100%;
background-color: #3E0C0D;
clear: right;
display: none;
}
.secondMenu ul {
float: right;
margin: 8px 0 0 0;
list-style: none;
}
.secondMenu li {
float: left;
border-right: 1px solid white;
padding: 0 5px 0 5px;
color: white;
font-size: 80%;
}
#clearDiv {
clear: both;
margin: 0px;
padding: 0px;
}
<div id="wrapper">
<div id="topBar">
<ul id="mainMenu">
<li class="toggle" id="home">Home</li>
<li class="toggle" id="profile">Profile</li>
<li class="toggle" id="resume">Resume</li>
<li class="toggle" id="work">Work Examples</li>
<li style="border:none" class="toggle" id="adventures">Adventures</li>
</ul>
</div>
<div class="secondMenu" id="home1">
<ul>
<li>home</li>
<li>home</li>
<li>home</li>
<li>home</li>
<li>home</li>
<li>home</li>
<li style="border:none">home</li>
</ul>
</div>
<div class="secondMenu" id="profile1">
<ul>
<li>prof</li>
<li>prof</li>
<li>prof</li>
<li>prof</li>
<li>prof</li>
<li>prof</li>
<li style="border:none">prof</li>
</ul>
</div>
<div class="secondMenu" id="resume1">
<ul>
<li>res</li>
<li>res</li>
<li>res</li>
<li>res</li>
<li>res</li>
<li>res</li>
<li style="border:none">res</li>
</ul>
</div>
<div class="secondMenu" id="work1">
<ul>
<li>egs</li>
<li>egs</li>
<li>egs</li>
<li>egs</li>
<li>egs</li>
<li>egs</li>
<li style="border:none">home</li>
</ul>
</div>
<div class="secondMenu" id="adventures1">
<ul>
<li>adv</li>
<li>adv</li>
<li>adv</li>
<li>adv</li>
<li>adv</li>
<li>adv</li>
<li style="border:none">home</li>
</ul>
</div>
<div id="clearDiv"></div>
</div>
你并不真正需要的JavaScript,所有的菜单可以建立css现在。您还可以添加动画,这些动画可以在现代浏览器中使用。第一个结果在谷歌http://purecss.io/menus/ – Morpheus 2015-02-06 18:15:09
看看这个 - http://stackoverflow.com/questions/28369240/make-drop-down-menu-flexible-width我相信这是最简单的方法要做下拉菜单,你需要在css中移除'.hover'动作,并将其作为点击动作放入jQuery中。但是,您可以选择是否使用该功能,也可能用于您的下一个项目。现在事情已经很好了。 – Stickers 2015-02-06 18:16:56