JSFiddle - React, Tailwind, and code Playground
クリック連打対策最低限おk ※今のとこイベント1つでも動いてると、他受け付けない
by yshrkn
HTML
<div class="accrdn">
<p class="accrdn-title">title1</p>
<ul class="accrdn-contents">
<li class="content"><a href="#">content1</a></li>
<li class="content"><a href="#">content2</a></li>
<li class="content"><a href="#">content3</a></li>
</ul>
</div>
<div class="accrdn">
<p class="accrdn-title">title2</p>
<ul class="accrdn-contents">
<li class="content"><a href="#">content1</a></li>
<li class="content"><a href="#">content2</a></li>
<li class="content"><a href="#">content3</a></li>
</ul>
</div>
<div class="accrdn">
<p class="accrdn-title">title3</p>
<ul class="accrdn-contents">
<li class="content"><a href="#">content1</a></li>
<li class="content"><a href="#">content2</a></li>
<li class="content"><a href="#">content3</a></li>
</ul>
</div>
SCSS
.accrdn{
.accrdn-title {
background: orange;
}
.accrdn-title {
padding: 10px;
}
.accrdn-contents {
display: none;
.content {
border-bottom: 1px solid #333;
>a {
display: block;
padding: 10px;
text-decoration: none;
&:hover {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
opacity: 0.7;
}
}
&:first-child {
margin-top: 0;
border-top: none;
}
}
}
}
JavaScript
$(function() {
function addEvent() {
var isAnimate = false;
$(".accrdn-title").on("click", function(e) {
//console.log("e", e);
//var currentIndex = e.currentTarget.parentNode.className;
//console.log("currentIndex", currentIndex);
if (isAnimate) {
return;
} else {
isAnimate = true;
$(this).next().slideToggle(function(){
isAnimate = false;
});
}
});
}
function init() {
addEvent();
}
init();
});