2013-10-22 74 views
0

我怎么能让我的菜单下降,当我点击它而不是悬停? 我希望能够点击.logo并拥有ul下拉菜单。并且当我再次点击时也隐藏菜单。 .logo中的div只是一个向下的三角形。我怎样才能使菜单下拉点击

的html代码:

<div id='Logo_dropdown'> 
<ul> 
    <li class='logo'><a href='#'><div></div></a></li> 
     <ul> 
     <li><a href='#upload'><span>Upload Logo</span></a></li> 
     <li><a href='#Edit'><span>Edit Logo</span></a></li> 
</ul> 
</div> 

CSS代码:

#Logo_dropdown ul { 

    padding: 0; 
    margin-left:auto; 
    margin-right:auto; 
    position:absolute; 
    top: 50%; 
    margin-top: -30px; 
    font-size:14px;} 
#Logo_dropdown li { 
    margin: 0; 
    padding: 0;} 

#Logo_dropdown a { 
    margin: 0; 
    padding: 0; 
} 
#Logo_dropdown ul { 
    list-style: none; 
} 
#Logo_dropdown a { 
    text-decoration: none; 
} 
#Logo_dropdown { 
    height: 50px; 
    position:absolute ; 
    background: #FCFCFC; 
    font-family: 'Oxygen Mono', Tahoma, Arial, sans-serif; 
    font-size: 12px; 
    left:200px; 
    opacity:0.9; 
filter:alpha(opacity=90); 
    padding-left:1%; 
       padding-right:auto; 
       width: 190px; 

/* background-color:#F3F3F3 ; /*color for Nav Menu Bar 
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);*/ 
    width: 140px; 
    z-index:1; 
    } 
#Logo_dropdown > ul > li { 
    float: left; 
    position: relative; 
    left:140px;} 

#Logo_dropdown > ul > li > a { 
    color: #999; 
    font-family: Verdana, 'Lucida Grande'; 
    font-size: 12px; 
    line-height: 70px; 
    padding: 15px 20px; 
    -webkit-transition: color .15s; 
    -moz-transition: color .15s; 
    -o-transition: color .15s; 
    transition: color .15s; 

} 
#Logo_dropdown > ul > li > a:hover { 
    color:#2bafb8; /*color nav menu bar when mouse hovers*/ 

} 
#Logo_dropdown > ul > li > ul { 
    opacity: 0; 
    visibility: hidden; 
    padding: 16px 0 20px 0; 
    background-color: #fafafa; 
    text-align: left; 
    position: absolute; 
    top: 55px; 
    left: 80%; 
    margin-left: -90px; 
    width: 250px; 
    -webkit-transition: all .3s .1s; 
    -moz-transition: all .3s .1s; 
    -o-transition: all .3s .1s; 
    transition: all .3s .1s; 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px; 
    border-radius: 5px; 
    -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4); 
    -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4); 
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4); 
    width:100px; 


} 
#Logo_dropdown > ul > li:hover > ul { 
    opacity: 1; 
    top: 95px; /*position of hover li*/ 

    z-index:1; 
    overflow: visible; 
} 
#Logo_dropdown > ul > li > ul:before { 
    content: ''; 
    display: block; 
    border-color: transparent transparent #fafafa transparent; 
    border-style: solid; 
    border-width: 10px; 
    position: absolute; 
    top: -20px; 
    left: 50%; 
    margin-left: -10px; 

} 
#Logo_dropdown > ul ul > li { 
    position: relative; 
    overflow: visible; 

} 
#Logo_dropdown ul ul a { 
    color: #2bafb8; 
    font-family: Verdana, 'Lucida Grande'; 
    font-size: 13px; 
    background-color: #fafafa; 
    padding: 5px 8px 7px 16px; 
    display: block; 
    -webkit-transition: background-color 0.1s; 
    -moz-transition: background-color 0.1s; 
    -o-transition: background-color 0.1s; 
    transition: background-color 0.1s; 
} 
#Logo_dropdown ul ul a:hover { 
    background-color: #f0f0f0; 
} 


#Logo_dropdown ul ul a:hover { 
    background-color: #2bafb8; 
    color: #f0f0f0 !important; 
} 
div{ 
width: 0; 
height: 0; 
border-left: 20px solid transparent; 
border-right: 20px solid transparent; 
border-top: 20px solid #CCC; 

} 
+0

分享以供将来参考:http://stackoverflow.com/a/35869393/5898685 – apollo

回答

4

您可以使用简单的toggle()查看下拉:)

我希望能够点击.logo并有UL下拉

使用此:

$('.logo').click(function() { 
    $('#logodropdown ul.second').toggle(); 
} 

这样,它会显示它,如果隐藏,并隐藏它,如果可见。你也可以设置一些速度,如果你想要的话,在对位内部为toggle(time in milliseconds)

并且请将第二个ul更改为<ul class="second">,因为代码可能会误解您的方法并隐藏#logodropdown中的两个列表。这将是你想要发生的一个很好的方法!甚至可以使用一个类来区分这两个列表。

你可以使用CSS做一些像:active:focus的东西。但他们不会导致其他元素的属性发生变化。这就是你需要jQuery帮助的地方。 :)

0

对于点击你需要使用JavaScript,因为没有点击事件处理CSS。

+0

然而,有一个:活动的伪类,当一个链接被压低,但一旦点击就消失了完了。 –

+0

这只是一个部分答案。你是对的,但OP没有进一步。 – OptimusCrime

+0

我的不好,我没有在这里看到jQuery标签,也没有想到添加更多。 –

相关问题