Reputation: 23
The accordion tab does not close if I click on the span inside the accordion navigation. What does I have missed?
$(document).ready(function() {
function close_accordion_section() {
$('.accordion .second-title').removeClass('active');
$('.accordion .radio-toolbar').slideUp(300).removeClass('open');
}
$('.second-title').click(function(e) {
var currentAttrValue = $(this).attr('href');
if($(e.target).is('.active')) {
close_accordion_section();
}else {
close_accordion_section();
$(this).addClass('active');
$('.accordion ' + currentAttrValue).slideDown(300).addClass('open');
}
e.preventDefault();
});
});
.radio-toolbar {
width: 100%;
height: 100%;
float: left;
background: #444;
-webkit-box-shadow: inset 0px 12px 7px -10px rgba(0,0,0,1);
-moz-box-shadow: inset 0px 12px 7px -10px rgba(0,0,0,1);
box-shadow: inset 0px 12px 7px -10px rgba(0,0,0,1);
display:none;
padding-bottom: 20px;
}
.accordion {
float: left;
width: 100%;
border-bottom: 1px solid #f2f2f2;
}
.second-title {
font-weight: 400;
color: #444;
float: left;
width: 100%;
height: 100%;
display: block;
padding: 24px;
box-sizing: border-box;
line-height: 20px;
background: #fff;
border-top: 1px solid #f2f2f2;
}
.strong {
font-weight: 600;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="accordion">
<a class="second-title" href="#getlogo">
<span class="strong">Logoanbringung</span>
</a>
<div class="radio-toolbar" id="getlogo">
</div>
<a class="second-title" href="#getmechanik">
<span class="strong">2-Ring Combimechanik</span>
</a>
<div class="radio-toolbar" id="getmechanik">
</div>
</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
Upvotes: 1
Views: 118
Reputation: 201
Use $(this) instead of e.target
$(document).ready(function(e) {
function close_accordion_section() {
$('.accordion .second-title').removeClass('active');
$('.accordion .swatch, .accordion .radio-toolbar').slideUp(300).removeClass('open');
}
$('.second-title').click(function() {
var currentAttrValue = $(this).attr('href');
if($(this).is('.active')) {
close_accordion_section();
}else {
close_accordion_section();
$(this).addClass('active');
$('.accordion ' + currentAttrValue).slideDown(300).addClass('open');
}
e.preventDefault();
});
});
Upvotes: 0