1

Есть такой скрипт:

   $(function(){
        $('.button').click(function(){
            $('.block').toggleClass('active');
        });
    });

Где:
.button – класс объекта, по которому кликают.
.block – класс объекта, в который нужно добавить класс.
active – класс, который добавляется или удаляется по клику.

Как сделать так, чтобы класс или его отсутствие запоминал браузер?

Get-Web
  • 2,983
  • 13
  • 28

1 Answers1

2

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

Как уже правильно подсказали у вас два варианта: 1) localStorage 2) cookies

localStorage в ie меньше 9 работать не будет, но думаю сейчас это не является проблемой.

код грубо будет такой:

$(function(){
    $('.button').click(function(){
        $('.block').toggleClass('active');
        localStorage.setItem("blockIsActive", "true");
    });
});

ну и потом проверяем:

var blockIsActive = localStorage.getItem("blockIsActive");
if (blockIsActive == "true") {
    $('.block').addClass('active');
}

как-то так

kils
  • 161
  • Поставил вот так, но не работает, что я сделал не так? – Get-Web Dec 23 '15 at 14:47
  • – Get-Web Dec 23 '15 at 14:47
  • 1
    @l2banners, внесите код внутрь функции $(function() { [код здесь] [изначальный код здесь] }); – Alex Krass Dec 23 '15 at 14:51
  • 1
    localStorage.setItem("blockIsActive", $('.block').hasClass('active')); –  Dec 23 '15 at 14:53
  • Просто супер! То что надо, спасибо большое! – Get-Web Dec 23 '15 at 14:55
  • 1
    вот вам примерчик - jsfiddle – kils Dec 23 '15 at 15:08