2013-10-22 35 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標籤,也沒有想到添加更多。 –