@pytronus

Как следать переключатель класс .active в JS?

$(document).ready(function(){
$('#login-trigger').click(function(){
$(this).next('#login-content').slideToggle();
$(this).toggleClass('active');

if ($(this).hasClass('active')) $(this).find('span').html('▲')
else $(this).find('span').html('▼')
})
});
$(document).ready(function(){
$('#signup-trigger').click(function(){
$(this).next('#signup-content').slideToggle();
$(this).toggleClass('active');

if ($(this).hasClass('active')) $(this).find('span').html('▲')
else $(this).find('span').html('▼')
})
});
Стыдно спрашивать элементарщину, но в скриптах я не бумбум. В общем при данном скрипте присваивается класс эктив для элемента по которому кликают, а как сделать, что-бы этот класс убирался, когда кликают по другом элементу?
  • Вопрос задан
  • 2560 просмотров
Решения вопроса 1
@dexes56
Back-end engineer
Способов много, выбирайте любой:
$(this).toggleClass('active');
// ...
if ($(this).hasClass('active'))
    $(this).removeClass('active');
else
    $(this).addClass('active');
// ...
element.classList.toggle('active');
// ...
if (element.classList.contains('active'))
    element.classList.remove('active');
else
    element.classList.add('active');


В вашем случае вероятно:
$(document).ready(function () {
    var loginBtn = $('#login-trigger');
    var signupBtn = $('#signup-trigger');

    loginBtn.click(function () {
        if (signupBtn.hasClass('active')) signupBtn.trigger('click');

        $(this).next('#login-content').slideToggle();
        $(this).toggleClass('active');

        if ($(this).hasClass('active')) $(this).find('span').html('▲')
        else $(this).find('span').html('▼');
    });

    signupBtn.click(function () {
        if (loginBtn.hasClass('active')) loginBtn.trigger('click');

        $(this).next('#signup-content').slideToggle();
        $(this).toggleClass('active');

        if ($(this).hasClass('active')) $(this).find('span').html('▲')
        else $(this).find('span').html('▼');
    })
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
master2016
@master2016
Всё нормально.
Так есть же такая штука
$('здесь_идентификатор_элемента').removeClass('имя_класса');
поставьте ее где надо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы