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

时间:2014-03-15 16:22:14

标签: javascript jquery html css ajax

我创建了一个个人网站。网站的默认颜色为黑色。我希望允许用户将颜色更改为" red,green.blue,..."

我使用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');

            });
            });

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

例如:我在(个人资料)页面中我改变了颜色然后转到(联系)页面,颜色恢复为默认值!

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

由于

1 个答案:

答案 0 :(得分:2)

您需要将选择内容存储在cookie或后端服务器上。例如,您可以使用jQuery-cookie plugin来存储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);
    });
});