对于这种简单的方法,您的代码太复杂了。因此,如果您正在寻找一个简单的下拉菜单,那么这里有一个 Demo:
演示:(已更新) https://jsfiddle.net/9n514f08/2/
JS: (已更新)
var animating = false;
$(".TREE .NODE").mouseenter(function(){
animating = true;
$(this).find(".NODES").slideDown("fast",function(){
animating = false;
});
});
$(".TREE .NODE").mouseleave(function(){
animating = true;
$(this).find(".NODES").slideUp("fast",function(){
animating = false;
});
});
HTML:
<div class="TREE">
<div class="NODE">
<a class="NODE-LINK">ABOUT</a>
<div class="NODES">
<div class="NODE">
<a class="NODE-LINK">MY STORY</a>
</div>
<div class="NODE">
<a class="NODE-LINK">MY STYLE</a>
</div>
<div class="NODE">
<a class="NODE-LINK">MY STYLE X</a>
</div>
<div class="NODE">
<a class="NODE-LINK">MY STYLE Y</a>
</div>
</div>
</div><div class="NODE">
<a class="NODE-LINK">SERVICE</a>
<div class="NODES">
<div class="NODE">
<a class="NODE-LINK">MY PRICING</a>
</div>
<div class="NODE">
<a class="NODE-LINK">SERVICES</a>
</div>
</div>
</div>
</div>
CSS:
.TREE{
background: #3f4c6b;
}
.TREE > .NODE{
background: #313654;
display: inline-block;
border-left: 1px solid #000;
border-right: 1px solid #3f4c6b;
position: relative;
}
.TREE > .NODE:FIRST-CHILD{
border-left: 0px solid #000;
}
.TREE > .NODE:LAST-CHILD{
border-right: 0px solid #000;
}
.TREE > .NODE:HOVER{
background: #3f4c6b;
}
.TREE > .NODE a.NODE-LINK{
display: block;
padding: 5px 10px 5px 10px;
font-size: 13px;
font-weight: bold;
color: #FFF;
}
.TREE > .NODE .NODES{
position: absolute;
left: 0px;
top: 100%;
background: #3f4c6b;
padding: 5px;
display: none;
}
.TREE > .NODE .NODES .NODE a.NODE-LINK{
display: block;
white-space: nowrap;
}
.TREE > .NODE .NODES .NODE:HOVER{
background: #313654;
}
如果您希望 DropMenu 在点击时显示,请更改
$(".TREE .NODE").mouseenter(function(){
.....
到这里
$(".TREE .NODE").click(function(){
.....