Ru-Board.club
← Вернуться в раздел «Web-программирование»

» JS: не удаляется класс css

Автор: Gooparikus
Дата сообщения: 20.06.2016 20:55
[more] Меню-аккордион, структура:

<ul id="accordion" class="accordion">
<li>
<div class="link"><div id="text">SomeText</div></div>
<ul class="submenu">
<li><a href="#">Text</a></li>
<li><a href="#">Text</a></li>
<li><a href="#">Text</a></li>
<li><a href="#">Text</a></li>
</ul>
</li>

<li>
<div class="link"><div id="text">SomeText</div></div>
<ul class="submenu">
<li><a href="#">Text</a></li>
<li><a href="#">Text</a></li>
<li><a href="#">Text</a></li>
</ul>
</li>
</ul>

Сам скрипт:

$(function () {
$("li").click(function(b) {
b.stopPropagation();
var a = $(this);
a.parent().find("li ul:visible").slideUp(200).removeClass('open');
a.children("ul").is(":hidden") && a.children("ul").slideDown(200, function() {
$("body, html").stop(!0, !0).animate({
scrollTop: a.offset().top - 50
}, 800)
a.toggleClass('open');
})

})
});

Должно быть так: клик на пункте меню, сам пункт меню скроллится вверх и выезжает подменю и у li меняются стили и этому же li присваивается класс "open", клик на тот же пункт меню или на другой, открытый li прячет свое подменю, класс "open" удаляется и стили возвращаются в первоначальному виду, а другой li открывается и все по новой. Но так не работает((( сам не особо шарю в JS, и голову уже сломал, не могу найти косяк. Люди добрые, помогите! [/more]
Автор: Mavrikii
Дата сообщения: 20.06.2016 21:14
Gooparikus
на будущее - Вопросы по jQuery


Код: a.parent().find("li ul:visible").slideUp(200).removeClass('open');
Автор: Gooparikus
Дата сообщения: 21.06.2016 09:14
Mavrikii


Цитата:
на будущее - Вопросы по jQuery [?]

учту, спасибо)

спасибо за наводку))) немного исправил по вашему замечанию и все заработало как надо)))

Страницы: 1

Предыдущая тема: Запоминание пароля браузером


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.