У меня есть три секции аккордеона, и я хочу, чтобы первый был открыт (с двумя другими закрытыми), когда я впервые прихожу на страницу. Я отдал все три (то есть, «accordionSectionContent», как показано ниже) Seperate идентификаторы (в верхней части их общего класса «accordionSectionContent») и для первого я заявил:Секция аккордеона JQuery отскакивает назад, когда я закрываю ее
#accordion1 {
display:block;
}
Все хорошо, за исключением того, если я нажму на его название в начале (хотя оно уже открыто), оно закрывается, а затем снова отскакивает. Если я снова нажму на него, он снова не отскакивает, а закрывается. Проблема должна быть со следующим кодом (просьба изменить и просветить):
Соответствующий CSS:
.accordionSectionContent {
display:none;
}
.accordionSectionTitle {
width:100%;
display:inline-block;
transition:all linear 0.15s;
}
Соответствующие JQuery:
$(document).ready(function() {
function close_accordion_section() {
$('.accordion .accordionSectionTitle').removeClass('active');
$('.accordion .accordionSectionContent').slideUp(300).removeClass('open');
}
$('.accordionSectionTitle').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();
});
});
HTML следующим образом:
<div class="accordion">
<div class="accordionSection"><a class="accordionSectionTitle" href="#accordion1" id="accordionSectionTitle1">Info</a>
<div id="accordion1" class="accordionSectionContent">
<p>Helpful info</p>
</div>
</div>
<div class="accordionSection"><a class="accordionSectionTitle" href="#accordion2" id="accordionSectionTitle2">How long will it take?</a>
<div id="accordion2" class="accordionSectionContent">
<p>An estimate of time</p>
</div>
</div>
<div class="accordionSection"><a class="accordionSectionTitle" href="#accordion3" id="accordionSectionTitle3">How do I?</a>
<div id="accordion3" class="accordionSectionContent">
<p>.</p>
</div>
</div>
</div>
Вы должны опубликовать HTML. – vanburen
@vanburenx HTML добавлен в соответствии с запросом. – JonnyBoy