2016-04-18 4 views
1

У меня есть кнопка, которая запускает боковую панель. Когда активна боковая панель с холстом, кнопка меню не может быть нажата. Поэтому я пытаюсь найти классные имена «js-off-canvas-exit» и «is-visible», тогда кнопка меню должна получить имя класса «is-active», иначе это имя класса должно быть удалено из меню кнопка.jquery: добавить имя класса к объекту

Моя попытка выглядит следующим образом:

var menuButton = document.getElementById('menuButton'); 
    menuButton.addEventListener('click', function(e) { 
    menuButton.classList.toggle('is-active'); 
    e.preventDefault(); 
    }); 


    $('.js-off-canvas-exit .is-visible').click(function() { 
    menuButton.removeClass('is-active');// add classname is-active to menuButton 
    } 


    $('.js-off-canvas-exit:not(.is-visible)').click(function() { 
    menuButton.addClass('is-active');// remove classname is-active from menuButton 
    } 

Может кто-то помочь мне получить эту работу?

+0

удалите пробел '. .js-off-canvas-exit .is-visible'' и попробуйте использовать'. .js-off-canvas-exit.is-visible''. –

ответ

0

Как menuButton является родным элементом DOM, вам необходимо создать объект jQuery. поскольку для объекта jQuery, а не элементов DOM, доступны методы removeClass() и addClass().

$(menuButton).removeClass('is-active'); 

вместо

menuButton.removeClass('is-active'); 

Вы можете использовать add() и remove() из Element.classList объекта.

Смежные вопросы