带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 />

<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,"");