Задать вопрос
AleksMey
@AleksMey
Пытаюсь разобраться

Как сохранить положение сайдбара на js?

Написал такой код для скрытия и открытия сайдбара. Как сделать, чтобы этот скрипт с помощью localStorage сохранял положение сайдбара?

// Sidebar display

let sidebarBtn = document.getElementById('sidebar_category');
let sidebarDisplay = document.querySelector('.sidebar_category');

sidebarBtn.addEventListener('click', () => {
  if(sidebarDisplay.classList.contains('sidebar_category')) {
    sidebarDisplay.classList.toggle('d-none');
  } 

});
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Malkolm163
Кодом не напишу, но вроде должно быть понятно так:
1. Перед вышеописанным кодом, добавь localStorage.getItem("some_value") и запиши его в переменную, но не забудь задать дефолтное значение для случая, когда там ничего нет еще. Также в localStorage можно хранить как в виде строки текущее значение, так и в виде числа или объекта (только тогда перед записью в localStorage сериализуй, а после считывание десериализуй соответственно)
2. После
let sidebarBtn = document.getElementById('sidebar_category');
let sidebarDisplay = document.querySelector('.sidebar_category');
выполни код, который скроет (или нет) сайдбар, в зависимости от того, что получилось в п.1.
3. После
sidebarDisplay.classList.toggle('d-none');
инвертируй значение, которое получилось в п.1. и запиши в localStorage
все.

методов волшебной автосинхронизации нет...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы