Сохранение изменений в css

Рейтинг: 1Ответов: 1Опубликовано: 09.11.2014

Здравствуйте.

Подскажите, пожалуйста, имеется код:

$(function(){  
$("#dark").click(function(e){  
    e.preventDefault(); // предотвратить переход  
    $("body").css('background','url(/img/bgdark.png)');  
});  
});

Меняет background, все хорошо, но при перезагрузке страницы все возвращается обратно.
Как сохранить изменение в css у пользователя?

Обновление

Не работает на сайте. Добавил 2 строки с ссылками:

<li><a href="" data-bgcolor="http://site.ru/img/bgdark.png" class="setbg">Темный</a></li>  
<li><a href="" data-bgcolor="http://site.ru/img/bgg.png" class="setbg">Светлый</a></li>

И добавил скрипт в head. Нажимаю на ссылку, страница перезагружается, но фон не меняется.

Ответы

▲ 1Принят

Тестируем тут

function getLS(n) {
    try {
        var ls = localStorage.getItem(n);
        if(typeof ls == 'undefined' || ls === null) return false;
        return $.parseJSON(ls);
    } catch(e){}
}
function setLS(n, v) {
    try {
        localStorage.setItem(n, JSON.stringify(v));
            return true;
    } catch(e){}
}
function setBgColor(){
    $('body').css('background-color', getLS('bgcolor') || '#8080ff');
}
$('.setbg').click(function(e){
    e.preventDefault();
    setLS('bgcolor', $(this).data('bgcolor')) && setBgColor();
});
setBgColor();