Javascript 更改网站中所有页面的样式

Javascript 更改网站中所有页面的样式,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我创建了一个个人网站。网站的默认颜色为黑色。我想允许用户将颜色更改为“红,绿,蓝,…” 我已经使用jQuery完成了这项工作。通过更改样式表(css文件) 这是我的代码: $(document).ready(function(){ $("img.black").click(function(){ $('link').attr('href','style_black.css'); }

我创建了一个个人网站。网站的默认颜色为黑色。我想允许用户将颜色更改为“红,绿,蓝,…”

我已经使用jQuery完成了这项工作。通过更改样式表(css文件)

这是我的代码:

                $(document).ready(function(){


            $("img.black").click(function(){
                $('link').attr('href','style_black.css');
            });
            $("img.red").click(function(){
                $('link').attr('href','style_red.css');

            });
            $("img.blue").click(function(){
                $('link').attr('href','style_blue.css');

            });
            });
但问题是,当我转到同一网站的另一个页面时,颜色会恢复为默认颜色(黑色)

例如:我在(个人资料)页面中,我更改了颜色,然后转到(联系人)页面,颜色返回默认值

有没有办法改变整个网站的颜色?(适用于网站中的所有页面)


谢谢

您需要将所选内容存储在cookie中或后端服务器的某个位置。例如,您可以使用存储cookie,然后执行以下操作:

$(document).ready(function(){
    // Read style selection from cookie
    var style = $.cookie("style");
    // Options to store cookie for 365 days for all pages
    var options = { expires: 365, path: "/" };
    // If style was stored in cookie, apply it
    if(typeof style !== "undefined") {
        $("link").attr("href","style_"+style+".css");
    }
    $("img.black").click(function(){
        $("link").attr("href","style_black.css");
        $.cookie("style","black", options);
    });
    $("img.red").click(function(){
        $("link").attr("href","style_red.css");
        $.cookie("style","red", options);
    });
    $("img.blue").click(function(){
        $("link").attr("href","style_blue.css");
        $.cookie("style","blue", options);
    });
});

默认情况下,网页是无状态的。您需要将更改存储在某个地方,例如使用cookie、本地存储或数据库。如何做到这一点?有没有链接或课程来解释这一点?感谢老兄,如果你在谷歌上搜索“如何设置cookie”,可能会出现一两个结果。我已经将插件上传到了我的网站。我复制并粘贴了你的代码,但它不起作用。对不起,我对cookies和JavaScript还不太熟悉。任何解释或链接都会非常有用。ThanksjQuery cookie页面对插件的工作原理有很好的解释。我的示例将选择存储在当前路径的会话cookie中。您需要查看cookie插件的
expires
path
设置,以使选择更持久。我将编辑我的答案以反映这一点。