Cookie作为图像名称和get值设置背景

Cookie as image name and get value to set background

本文关键字:get 设置 背景 图像 Cookie      更新时间:2023-09-26

我不想在cookie explorer中设置图像名称,然后获取值并设置为背景图像名称。

<li class="bg"><a href="#"><img src="{style_images_url}/backgrounds/bac1.png" /></a></li>

有我的js代码

jQuery(document).ready(function(){
   /* for thumbnail click event */
   jQuery('li.bg a').on('click',function(){
      jQuery("body").css('background-image', "url({style_images_url}/backgrounds/bac1.png)");
      jQuery.cookie("bgimg", "url({style_images_url}/backgrounds/bac1.png)", { expires: 7, path: '/'});
   });
   /* for page refresh */
   jQuery("body").css("background-image", "jQuery.cookie('bgimg')");
});

所以,正如你所看到的,我试图获得一个cookie值并使用它。jQuery.cookie('bgimg')应该包括url({style_images_url}/backgrounds/bac1.png) -这是我的图像的地址。

所以我有一个记住背景的问题,因为所有的工作都很好,背景它在改变,但在页面刷新后背景是默认的。

提前感谢。

jQuery(document).ready(function(){
   jQuery("body").css({ "background-image": jQuery.cookie("bgimg") });
   jQuery("li.bg > a").on('click', function(){
      jQuery("body").css({"background-image": jQuery(this).attr('src')});
      jQuery.cookie("bgimg", "url("+ jQuery(this).attr('src') +")", { expires: 7});
   });
});

尝试删除引号,如:

jQuery("body").css("background-image": jQuery.cookie('bgimg'));

或者最好先检查是否存在,如果没有创建则应用:

if (jQuery.cookie('bgimg')) {
    jQuery("body").css("background-image": jQuery.cookie('bgimg'));
}
else {
    //set cookie
    jQuery.cookie("bgimg", "url({style_images_url}/backgrounds/bac1.png)", { expires: 7, path: '/'});
}

更新::

$(document).ready(function(){
   $("body").css({ "background-image": $.cookie("bgimg") });
   $("li.bg > a").on('click', function(){
      $("body").css({"background-image": $(this).attr('src')});
      $.cookie("bgimg", "url("+ $(this).attr('src') +")", { expires: 7});
   });
});