2017-01-22 4 views
-1

Я использую jQuery на своем веб-сайте для добавления нового класса и удаления другого, но после перезагрузки страницы новый класс исчезает.jQuery .click функция не работает после перезагрузки

Код:

$(document).ready(function() { 
    $('#list').click(function(event){event.preventDefault();$('.viewgrid').addClass('viewlist');$('.viewgrid').removeClass('viewgrid');}); 
    $('#grid').click(function(event){event.preventDefault();$('.viewlist').addClass('viewgrid');$('.viewlist').removeClass('viewlist');}); 
}); 

Как сохранить изменения?

+0

Вы можете использовать куки или веб-хранилище HTML5, чтобы информация сохранялась на разных страницах для пользователя. –

+0

Если вы хотите, чтобы состояние страницы сохранялось где-то, вы должны ее где-то сохранить. – David

+0

Франческа, добро пожаловать. Спасибо за предоставление образца кода, но, пожалуйста, узнайте, как его форматировать, чтобы он был более читабельным. Я сделал бы это для вас, но не могу получить доступ к кнопке «Редактировать» на вашем посту прямо сейчас. –

ответ

0

jQuery - это фреймворк для javascript, который работает на стороне клиента в вашем браузере. Если вы не сохраните изменения в файле, изменения будут временными.

EDIT: Вы должны загрузить состояние на siteload:

var def = 'viewlist'; 
var view = Cookies.get('view') || def; 

$('#view').addClass(view); 

И сохранить его нажатием на кнопку:

Cookies.set('view', 'viewlist'); 

я написал эту маленькую codepen для вас: http://codepen.io/anon/pen/oBezzz

Обратите внимание, что я использовал плагин JS JavaScript Cookie. Вам нужно загрузить его и включить в свой раздел.

+0

и каков режим сохранения изменений в файле? – francesca

+0

Я могу использовать функцию localStorage? – francesca

+0

Это зависит от того, что вы пытаетесь построить. Вы можете использовать файлы cookie для небольших фрагментов данных или localStorage для получения дополнительных данных. Затем браузер сохраняет эти данные. Если вы используете другой браузер, эти данные не могут быть получены. Если вы хотите получить одинаковый результат в каждом браузере, вам необходимо хранить данные по всему миру на сервере. – pixelarbeit

Смежные вопросы