Итак, я пытаюсь настроить свое меню аккордеона так, что когда вы нажмете на одно меню и откроете его, затем нажмите на другое, предыдущее меню должно закрыть - но, кажется, автоматически открывается закройте меню, когда вы нажмете на него.jQuery Аккордеон Дети не скрываются
Может кто-нибудь проверить мой код, чтобы увидеть, что мне не хватает? Я пробовал использовать функцию siblings, но она вообще не работала бы, и функция find вызывает вышеупомянутую проблему.
HTML
дизайн серии
<div class="sideContent">
<ul>
<li><a href="http://www.nerosdecoshoppe.com/collections/275070-assorted-designs">Assorted Designs</a></li>
<li><a href= "http://www.nerosdecoshoppe.com/collections/202951-kiss-me-goodnight">Kiss Me Goodnight</a></li>
<li><a href= "http://www.nerosdecoshoppe.com/collections/202954-natures-phone-call">Into the Wild</a></li>
<li><a href= "http://www.nerosdecoshoppe.com/collections/202949-alice-n-stripes">Alice n Stripes</a></li>
<li><a href= "http://www.nerosdecoshoppe.com/collections/202950-magical-kingdom">Magical Kingdom</a></li>
</ul>
</div>
</div>
<div>
<a href="%20#" class="sideHeader">decoden cases</a>
<div class="sideContent">
<ul>
<li><a href="http://www.nerosdecoshoppe.com/collections/202952-whip-cream">WhipCream</a></li>
<li><a href="http://www.nerosdecoshoppe.com/collections/202953-rhinestone-pearls">Rhinestones/Pearls</a></li>
</ul>
</div>
</div>
JQuery:
$(document).ready(function() {
$('.sideContent').hide();
$('.sideHeader').click(function() {
event.preventDefault();
$(this).next().slideToggle('fast')
//.parent().parent().find('.sideContent:visible').slideUp('fast');
.parent().parent().siblings.find('.sideContent:visible').slideUp('fast');
});
});
Вот jFiddle link, чтобы показать это я п действие
Это нормально работает, но если пользователь нажимает два раза на один элемент - подменю не может быть закрыто ... – sinisake
@nevermind: достаточно справедливо. Добавлен ответ, чтобы охватить этот сценарий. –