jQuery通过cookie自定义背景

发布于 2024-12-06 06:55:19 字数 836 浏览 0 评论 0原文

我正在为我的网站制作背景更改脚本。除了应该存储所需值的 cookie 之外,一切正常。我正在使用 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);

I'm making background changing script for my site. Everything works fine except the cookie which should store the required value. I'm using jQuery 1.3. IE 8 says: 'object doesn't support this property or method on line 47 char 118567432'!? Any help will be greatly appreciated. Working example without 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);

Example with cookie (not working):

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);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

给我一枪 2024-12-13 06:55:19

我已将您的代码转换为更高效、语法上有效的 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");

I've converted your code to a more efficient, and syntactically valid JavaScript code.

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");
七堇年 2024-12-13 06:55:19

可能是你的“cookie插件”脚本没有正确导入?您能否提供有关您收到的错误的更多详细信息。使用 Firebug for Firefox 或 Chrome 开发工具来获得更好的错误跟踪。

May be your "cookie plugin" script is not imported correctly? Can you give more details on the error you get. Use Firebug for Firefox or Chrome Dev tools to get a better error trace.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文