Возможно ли присвоить на одну кнопку добавление и удаление класса?

267
16 июня 2018, 05:40

Я пытаюсь оформить мобильную версию сайдбара.

Есть в мобильном виде гамбургер с классом .hamburger_button и затемненная область .mobile

position: fixed;
top: 0;
right: 0;
background: rgba(90, 90, 90, 0.9);
width: 88vw;
height: 100vh;
color: white;

которая изначально

transform: translateX(100%);
transition: transform 500ms ease-out;

но по нажатию на .hamburger_button я добавляю новый класс к .mobile

.open {
    transform: translateX(0);
}

в js это выглядит так:

var hamburgerButton = document.querySelector('.hamburger__button');
var mobileNav = document.querySelector('.mobile');
function openMobile() {
    mobileNav.classList.add('open');
}
function CloseMobile() {
    mobileNav.classList.remove('open');
}
hamburgerButton.addEventListener('click', openMobile);
mobileNav.addEventListener('click', CloseMobile);

Есть решение с добавлением нового блока,но цель заключается в том,чтобы по нажатию на гамбургер область выезжала и уезжала обратно.

А пока что она уезжает при любом нажатие на область .mobile, и почему это происходит мне понятно.

Answer 1

Решено

var hamburgerButton = document.querySelector('.hamburger__button');
var mobileNav = document.querySelector('.mobile');
function openMobile() {
    mobileNav.classList.toggle('open');
}
hamburgerButton.addEventListener('click', openMobile);

Спасибо @exvayn

READ ALSO
Проблем с созданием массива jquery

Проблем с созданием массива jquery

не могу понять как правильно записать данные в массив и вывести ихПеребираю форму, хочу записать в массив значения,пример:

288
Перегрузка метода в чужом классе в Javascript

Перегрузка метода в чужом классе в Javascript

Есть код стороннего разработчика: Typescript, AngularВ этом коде нужно откорректировать формат вывода некоторых не примитивных данных, представленных...

271
Нужна помощь с Local Storage

Нужна помощь с Local Storage

Есть вот такой вот скрипт, для выбора количество записей в таблице на странице

251
NodeJS отправка динамических данных через PUT

NodeJS отправка динамических данных через PUT

Необходимо создать PUT-запрос и отсылать по нему динамически получаемые данные

240