javascript - 缓存背景图像(javascript)

标签 javascript jquery css caching

当我点击某个链接(link1 ...)时,它会使用 jquery 函数更改正文背景

 $("#link-home").click( function(){ $
    ("body").removeClass("bg2 bg3 bg4").addClass("bg1");
    });

    $("#link-link1").click( function(){ $
    ("body").removeClass("bg2 bg3 bg4").addClass("bg1");
    });

    $("#link-link2").click( function(){ $
    ("body").removeClass("bg1 bg3 bg4").addClass("bg2");
    }); 

问题出在我刷新网页时。它将背景更改为默认值。有两种选择如何做到这一点。首先仅将 css 用于更改背景(我尝试了几个小时但没有结果)或使用缓存。但是我如何缓存我的背景图片呢?我试过 locache .我将 locache.js 添加到头部,但它不起作用。

最佳答案

您不需要缓存背景图片,因为浏览器会默认为您缓存它。 一个简单的解决方案是:

$(window).ready(function() {
    var switchBackground = function(bg) {
        var savedBackgorund = window.localStorage.activeBackground;
        var bg = typeof bg !== 'undefined' ? bg :
            (savedBackground ? savedBackground : 'bg1');
        $('body').removeClass('bg1 bg2 bg3 bg4').addClass(bg);
        window.localStorage.activeBackground = bg;
    }

    switchBackground();

    $("#link-home").click( function() {
        switchBackground("bg1");
    });

    $("#link-link1").click( function() {
        switchBackground("bg1");
    });

    $("#link-link2").click( function() {
        switchBackground("bg2");
    });
});

关于javascript - 缓存背景图像(javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22820838/

相关文章:

javascript - 如何激活一个选项并禁用其他选项

javascript - 单击时使用 jquery 展开/折叠表格的 2/3

javascript - 将不同 div 标签内的多个表转换为可排序/可搜索的表

javascript - 不允许用户选择网页的一部分

java - 无法访问tomcat javascript文件夹

javascript - 如何通过按钮替换图像以在javascript中调用onclick函数

jquery - 结合 Rails 和 jQuery、CSS?

html - 如何使两个选项卡在 Angular Material 2 中占用整个屏幕宽度

javascript - 文本不随机刷新的问题

javascript - React.JS - 子组件在接收 Prop 时不更新(功能组件)