带Cookie记忆功能的Css换肤技术

/* ======= 以下代码另存为:skinCss.js =======*/

function GetCookie(sName)
{
    var aCookie = document.cookie.split("; ");
    for (var i=0; i < aCookie.length; i++)
    {
        var aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0])
        {
            return aCrumb[1];
        }
    }
    return null;
}

function SetCookie(name, value, time, domain)
{
    var expdate = new Date();
    var expires = time;
    if(expires!=null){
      expdate.setTime(expdate.getTime() + ( expires * 1000 ));
      expd = "expires="+expdate.toGMTString()+";";
    }else
      expd = "";
    if (domain)
    {
        domain = "domain="+ domain +"; path=/; ";
    }
    document.cookie = name + "=" + escape (value) + "; " + expd + domain;
}
var cookieTag = "Crystal_skin";
var vSkin = GetCookie(cookieTag);

function setSkinColor(vSkinNum)
{
    SetCookie( cookieTag, vSkinNum, 60*60*24*30,"cnwest.com");
    document.getElementById("skinCss").href = "css/"+vSkinNum+"/Style.css";
}

if( vSkin && vSkin!="Style" )
{
    document.getElementById("skinCss").href = "css/"+vSkin+"/Style.css";
}

/* ======= 以下代码另存为:index.html=======*/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Css 换肤</title>
<style type="text/css">
.skinColorBlue,.skinColorRed,.skinColorPurple{font-size:10px; cursor:pointer;}
.skinColorBlue{ background-color:#77C9F8; color:#77C9F8;}
.skinColorRed{ background-color:#F67272; color:#F67272;}
.skinColorPurple{ background-color:#F675DC; color:#F675DC;}
</style>
<link id="skinCss" href="css/Style.css" rel="stylesheet" type="text/css" />
<script. type="text/javascript" src="js/skinCss.js"></script>
</head>
<body>
<span class="skinColorBlue" onclick="setSkinColor('blue');" title="Crystal Blue">蓝</span>
<span class="skinColorRed" onclick="setSkinColor('red');" title="Rose Red">红</span>
<span class="skinColorPurple" onclick="setSkinColor('purple');" title="Aristocrat Purple">紫</span>
</body>
</html>

/* ======= 以下代码分别另存为:Style.css=======*/

页面相对的目录下面建立blue,red,purple这3个目录放入自己需要的CSS表,目录结构如下:
1. css/blue/Style.css
css样式:body{background-color:#77C9F8;}

2. css/red/Style.css
css样式:body{background-color:#F67272;}

3. css/purple/Style.css
css样式:body{background-color:#F675DC;}

4. css/Style.css
css样式:body{background-color:#FFCCFF;}

注:SetCookie( cookieTag, vSkinNum, 60*60*24*30,"cnwest.com");
写Cookie域的,用来记录COOKIE你把cnwest.com 换成你的域名 或者留空
如:SetCookie( cookieTag, vSkinNum, 60*60*24*30,"");

这里和大家分享和学习如何学IT!
原文地址:https://www.cnblogs.com/fuchifeng/p/1345009.html