Я ищу для создания многоуровневого меню аккордеона. Я создал это меню (http://codepen.io/anon/pen/ogdovx) до сих пор, но я новичок в jquery и достигал пределов своих знаний.Многоуровневое улучшение меню аккордеона?
Как это можно улучшить? Мне нужно, чтобы они только сбрасывали предметы, у которых есть суб-UL, и сворачивают братьев и сестер/детей на открытом.
Любая помощь в улучшении моего кода будет оценена по достоинству. Приветствия!
код из codepen:
$(document).ready(function() {
$(".main > li > a").click(function() {
$('.main ul').slideUp();
if (!$(this).next().is(":visible")) {
$(this).next().slideDown();
}
})
$(".main > li > ul > li > a").click(function() {
$('.main ul ul').slideUp();
if (!$(this).next().is(":visible")) {
$(this).next().slideDown();
}
})
$(".main ul ul li > a").click(function() {
$('.main ul ul ul').slideUp();
if (!$(this).next().is(":visible")) {
$(this).next().slideDown();
}
})
});
ul.children {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="main">
<li class="page_has_children">
<a href="#">Link</a>
<ul class="children">
<li class="page_has_children">
<a href="#">Sub Link</a>
<ul class="children">
<li>
<a href="#">Sub Sub Link</a>
<ul class="children">
<li><a href="#">Child Link</a>
</li>
<li><a href="#">Child Link</a>
</li>
<li><a href="#">Child Link</a>
</li>
</ul>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
</ul>
</li>
<li class="page_has_children">
<a href="#">Link</a>
<ul class="children">
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
</ul>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
</ul>
</li>
<li class="page_has_children">
<a href="#">Link</a>
<ul class="children">
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
</ul>
</li>
<li class="page_has_children">
<a href="#">Link</a>
<ul class="children">
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
</ul>
</li>
<li class="page_has_children">
<a href="#">Link</a>
<ul class="children">
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
<li><a href="#">Sub Link</a>
</li>
</ul>
</li>
</ul>
К сожалению я должен добавить я буду использовать WordPress для этого и будет ограничен классами, Wp-список-страниц/сор-нав-меню использует, которые аналогичны классам У меня есть настройка в моем коде выше. Если я не добавляю классы через jquery. – cwinch