Как с помощью jquery удалить класс у блока только при первом посещении сайта?

В общем у меня есть блок с классом active у которого значение display: block. Мне нужно удалить класс active при нажатии на кнопку.. и если человек переходит на внутренние страницы сайта, чтоб active обратно не появлялся.

Если я просто делаю так:

$(".btn-n").click(function(){
                $(".cc-wrapper").toggleClass("active"); return false;
            });

То конечно active удаляется но после перехода на другую старицу он обратно появляется


Ответы (1 шт):

Автор решения: HTO HOT

Понимание "первого посещения" может быть разным.

Вот пример кода , для первого посещения за сессию.


if(!JSON.parse(sessionStorage.getItem('visited'))){
    sessionStorage.setItem('visited','true');/////Заметьте true  передано строкой
    // Тут ваш код который должен выполняться при первом посещении
}else{
    /// тут при последующих
}

Храниться эти данные будут до тех пор, пока пользователь не закроет браузер(либо не почистит кэш). Т.е. первое посещение будет каждый раз как пользователь откроет браузер.

Вот способ для более долгого промежутка между "первыми посещениями":

if(!JSON.parse(localStorage.getItem('visited'))){
    localStorage.setItem('visited','true');/////Заметьте true  передано строкой
    // Тут ваш код который должен выполняться при первом посещении
}else{
    /// тут при последующих
}

Так уже данные будут хранится постоянно , пока пользователь не захочет почистить кэш своего браузера.

Если вы хотите посмотреть, что будет лежать у пользователя в кэше можете

1)зайти в консоль разработчика(Google Chrome)

2)перейти во вкладку Application

3)в колонке Storage слева всё будет введите сюда описание изображения

→ Ссылка