我想在點擊按鈕後通過添加額外的類addClass("open");
顯示一個隱藏的div,然後使用css在它處於活動狀態時顯示它們open
class。如何在點擊按鈕後再次顯示和隱藏div
$(".btt").click(function(event){
($(event.currentTarget).parent().parent()).addClass("open");
});
.surveySummaryList>li .surveySummaryMenu {
background: rgba(0, 0, 0, 0.6);
position:absolute;
left: 100%;
top: 0;
display: none;
color: white;
width: 100%;
min-width: 250px;
z-index: 1001;
}
.surveySummaryList>li.open >.surveySummaryMenu {
display: inherit;
transition: all 1s;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul class="nav surveySummaryList">
<li>
<a href="javascript:" data-bind="click: $root.surveyClicked">
<span>Name</span>
<button class=" btt pull-right glyphicon glyphicon-chevron-right"></button>
</a>
<div class="surveySummaryMenu">
<ul class="nav navbar">
<li>
<a href="javascript:" data-bind="click: $root.surveyClicked">
<span> Sub Name </span>
</a>
</li>
</ul>
</div>
</li>
</ul>
而且,只有當我點擊該按鈕,在div class= surveySummaryMenu
應顯示,即使我點擊這個標籤<a>
,它不應該顯示。它似乎工作,但後點擊按鈕後,div .surveySummaryMenu將保持永久,我怎麼能在點擊其他地方後再次隱藏它,而不是按鈕?
爲什麼你會把一個按鈕放在一個錨點中?你不需要任何的數據綁定attrs,而不是使用parent(),你可以給一個id或一個類到想要定位的div然後選擇它,最後選擇內部的任何內容都將繼承其父事件。 – ctf0
因爲我只在點擊按鈕時才顯示hide div。即使我點擊一個標籤,它不應該顯示 – Son