jQuery пользовательский фон через cookie - PullRequest
1 голос
/ 25 сентября 2011

Я делаю сценарий смены фона для своего сайта. Все отлично работает, кроме куки, который должен хранить требуемое значение. Я использую jQuery 1.3. IE 8 говорит: «объект не поддерживает это свойство или метод в строке 47 char 118567432» !? Любая помощь будет оценена. Рабочий пример без cookie:

    function images(which,image) {
      if (which == 't1')image = images[0];
      else if (which == 't2')image = images[1];//and etc...
    }
    $('html').css("background-image", image);

Пример с cookie (не работает):

function images(which,image) {
          if (which == 't1')image = images[0];
            {$.cookie("html_img", "" + image + "", { expires: 7 });
            imgCookie = $.cookie("html_img");}
          else if (which == 't2')image = images[1];
            {$.cookie("html_img", "" + image + "", { expires: 7 });
            imgCookie = $.cookie("html_img");}
          }
        $('html').css("background-image", imgCookie);

Ответы [ 2 ]

2 голосов
/ 25 сентября 2011

Я преобразовал ваш код в более эффективный и синтаксически правильный код JavaScript.

function images(which){
    var image = /^t\d+/i.test(which) ? images[which.substr(1)-1] : null;
    if(image !== null) {
        $.cookie("html_img", image, {expires:7})
    } else {
        image = $.cookie("html_img");
        if(!image) image = images[0]; //If the image doesn't exist, use default=0
    }
    $('html').css("background-image", image);
}

$(document).ready(function(){
    images(); //Load image default from cookie
}

//If you want to change the image+cookie: images("t2");
1 голос
/ 25 сентября 2011

Может быть, ваш скрипт "cookie plugin" неправильно импортирован? Можете ли вы дать более подробную информацию об ошибке, которую вы получаете. Используйте Firebug для инструментов Firefox или Chrome Dev, чтобы получить лучшую трассировку ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...