首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不同的页面上实现对CSS样式的更改

如何在不同的页面上实现对CSS样式的更改
EN

Stack Overflow用户
提问于 2015-10-17 01:57:34
回答 2查看 46关注 0票数 0

所以我正在做一个网站,有几个页面调用相同的CSS文件。我正在加入一种方法来改变网站的背景图像。我使用javascript函数让它在每个页面上本地工作:

代码语言:javascript
运行
复制
function bgChange(bg) {
    document.body.style.background = bg;
}

在脚本部分中定义,然后实现它:

代码语言:javascript
运行
复制
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('switchon','','images/switchonhl.jpg',1)" onclick="bgChange(this.style.backgroundImage)"
            style="background-image:url('images/woodbacklight.jpg')"><img src="images/switchon.jpg" width="50" height="50" id="switchon"></a>

但是,当您转到站点上的其他页面时,它将恢复为原始图像。有没有办法在不同的页面上保持设置?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-10-17 02:03:24

我首先想到的是localStorage,但是localStorage可以直接在客户机上修改。如果这对你来说没问题,那么这是我的第一个建议(因为根据我的经验,它很容易使用)。

在客户端上存储数据的一些可能方式:

  1. 本地Storage
  2. Session Storage
  3. Cookies

在服务器上存储数据的一些可能方式:

  1. MySQL
  2. MongoDB
  3. Redis

localStorage的使用示例(在每个页面上)

代码语言:javascript
运行
复制
(function () {
    // default background image
    if (!localStorage['bg']) localStorage['bg'] = "/path/to/some/default_image.png";

    document.body.style.background = localStorage['bg'];
})();

然后设置变量:

代码语言:javascript
运行
复制
function changeBg(bg) {
    localStorage['bg'] = bg;
};
票数 0
EN

Stack Overflow用户

发布于 2015-10-17 02:03:39

首先编辑您的代码以将bg保存在localStorage(或cookies或sessionStorage)中

代码语言:javascript
运行
复制
  function bgChange(bg) {
        document.body.style.background = bg;
        localStorage.setItem('bgcolor', bg);
    }

并将此添加到您拥有的每个页面的页面加载中。

代码语言:javascript
运行
复制
document.onload = function(){
    bg = localStorage.getItem('bg');
    document.body.style.background = bg;
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33176739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档