'timelineTile'div를 열고 닫으려고합니다. 다른 사람이 열리면 닫고, 배경을 클릭하면 닫을 수 있습니다. 다른 사람이 클릭하면 배경을 얻을 수 있지만, div 자체를 클릭하면 div가 닫히는 ... 여기에 내 fiddle토글 클래스가 작동하지 않습니까?
내 코드;
$(function() {
$('.timelineTile').click(function (evt) {
evt.stopPropagation();
$('.selected').children().removeClass('clicked');
$(this).toggleClass('clicked');
});
$(document).click(function() {
$('.timelineTile').removeClass('clicked');
});
});
.timelineTile.clicked{
background:red;
width:500px;
height:300px;
-webkit-transition:height 1s, left 1s, -webkit-transform 1s;
transition:height 1s, left 1s, transform 1s;
}
.selected {
-webkit-transition:height 1s, left 1s, -webkit-transform 1s;
transition:height 1s, left 1s, transform 1s;
}
.timelineTile {
background:black;
color:white;
width:200px;
height:100px;
margin-bottom:20px;
-webkit-transition:height 1s, left 1s, -webkit-transform 1s;
transition:height 1s, left 1s, transform 1s;
}
.timelineTilehold {
background:pink;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<ul class="timelineTilehold">
<li class="selected"><div class="timelineTile">hello
</div></li>
<li class="selected"><div class="timelineTile">hello
</div></li>
<li class="selected"><div class="timelineTile">hello
</div></li></ul>
당신은 당신의 문서를 클릭 방법에 false를 반환해야합니다. 그렇지 않으면 이벤트 버블 링으로 인해 클릭 된 클래스가 다시 토글됩니다. –
제거하면 다른 클래스가 클릭되면 닫힙니다. –