Сохраните cookie с помощью jQuery

0

Я пытаюсь сделать какой-то переключатель. Радиокнопка, которая при переключении переключает класс на определенные div. По крайней мере, эта идея. Я могу сделать это с помощью jQuery легко, но моя проблема заключается в том, чтобы он оставался после обновления. Например, если я переключу переключатель..., он удалит .filter из всех .post. Я хочу, чтобы переключатель оставался таким же после обновления. Есть ли способ, которым я могу добиться этого только с помощью jQuery и без доступа к материалам конца?

  • 2
    посмотрите на плагин как github.com/carhartl/jquery-cookie
  • 0
    Почему бы вам не установить cookie, используя JavaScript?
Теги:
cookies
frontend

2 ответа

1
Лучший ответ

Как сказал Арун П. Джонни, вы можете использовать jquery cookie, но использование плагина только для этой цели не очень полезно.

Знайте, что вы хотите только в jQuery, но реализация в javascript очень проста, поэтому я покажу вам все (с помощью cookie сеанса):

$("#button").click(function(){
    document.cookie = "toggled=yes";
});

if (document.cookie.indexOf("toggled") >= 0){
    $(".post").removeClass(".filter");
}
  • 0
    Хорошо, я принимаю этот ответ, потому что я бы предпочел не использовать плагин. Я просто не совсем уверен, что вы имеете в виду, но ваш ответ выглядит довольно jQuery для меня (а не vanilla js). В любом случае, спасибо за это! Что касается сопутствующей заметки, извините, потому что я действительно новичок в файлах cookie, работает ли она в другой части домена? Например, если пользователь переключил переключатель на example.com , будет ли файл cookie доступен для example.com/somepage ?
  • 0
    Да, если, конечно, это работает на всем домене :) Сначала я создаю cookie, называемый переключаемым, когда нажимается кнопка, и после того, как я проверяю, существует ли cookie, и я удаляю класс :)
0

Мне нравится этот плагин jQuery: https://github.com/carhartl/jquery-cookie

Сохранить печенье при переключении переключателя:

$.cookie('COOKIE_NAME', option_to_save , { expires: 365, path: '/' });

И получить cookie перед DOM, а затем инициализировать ваши определенные DIVs:

var option = $.cookie('COOKIE_NAME')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню