Так как это ваш третий вопрос, опубликованный об этом же коде (предыдущие здесь и здесь ), вы, кажется, действительно озадачены как этим кодом, так и правильным способом использования стека. переполнение.
Вот как в целом работают куки. На одной странице вы устанавливаете куки. На следующей странице вы читаете этот файл cookie и используете его значение.
В этом примере кода вы устанавливаете cookie в первом блоке кода для фонового изображения. Пока все хорошо.
Во втором блоке кода вы снова вызываете setCookie. Если вы хотите извлечь фоновое изображение из файла cookie, то вам нужно получить значение файла cookie, а не устанавливать его. Ваш код, вероятно, должен выглядеть примерно так:
$(document).ready(function() {
// initialize background from cookie
var startImage = $.cookie("html_img"); // get cookie value
if (startImage) {
$(document.body).css("background-image", startImage);
}
// install click handler to change background
$('.themes li a img').click(function() {
var newBackground = 'imgs/someimage.jpg';
$(document.body).css("background-image", newBackground);
$.cookie("html_img", newBackground, {expires:7}); // save in cookie
});
});
Вам также может понадобиться знать, что если вы не укажете опцию пути для файла cookie, например path: '/'
, файл cookie будет доступен для чтения только по текущему пути, а не где-либо еще на вашем сайте. Документация для этой библиотеки cookie jQuery: здесь .
Что касается использования stackoverflow, вам следует задать четкий вопрос о конкретном фрагменте кода, а когда респонденты запутались или дают ответы, которые не являются тем, что вы хотели спросить, вы должны уточнить свой вопрос соответствующим образом, пока не получите соответствующий ответ. , Помните, когда люди дают ответы в неправильном направлении, это, скорее всего, потому, что они не понимают, что вы спрашиваете, а не потому, что они не знают, как ответить. Вы не должны публиковать небольшие изменения одного и того же вопроса в новом вопросе.