问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JS更换CSS样式表记录COOKIE

发布网友 发布时间:2022-05-11 16:40

我来回答

6个回答

热心网友 时间:2022-04-21 12:11

/* ======= FileName:skinCss.js =======
* Author:Crystal (Feng Fupeng)
* Date:2008-02-24
* Email:8215349[at]qq.com
*/

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 = "nd_skin";
var vSkin = GetCookie(cookieTag);

//皮肤撤销初始化皮肤
if(vSkin=="yx_subject0708"){setSkinColor('blue');}

function setSkinColor(vSkinNum)
{
SetCookie( cookieTag, vSkinNum, 60*60*24*30,"");
if(vSkinNum=="yx_subject0708"){vSkinNum="blue";}
document.getElementById("skinCss").href = "http://192.168.2.123/home/css/"+vSkinNum+".css";
}

if( vSkin && vSkin!="Style" )
{
document.getElementById("skinCss").href = "http://192.168.2.123/home/css/"+vSkin+".css";
}
上面是JS里面代码,函数名字能看的懂吧,包含了换css的路径和初试输出还有cookie的记录,都包含在上面了,解释起来就很多了,相信你应该能看的明白
页面上html代码如下:
<link id="skinCss" href="http://172.21.13.133/KM_home/css/blue.css" rel="stylesheet" type="text/css" />
这个注意这个ID,你要换名字也可以,JS里面也要对应的换,至于放哪位置,就不必说了吧
然后还有一段就是你要换样式,那么一定要有触发事件
在body里面可以加上 <ol>
<li><span class="skinPink" onclick="setSkinColor('pink');" title="粉红色">粉红</span></li>
<li><span class="skinBlue" onclick="setSkinColor('blue');" title="蓝色">蓝</span></li>
<li><span class="skinRed" onclick="setSkinColor('red');" title="红色">红</span></li>
<li><span class="skinGreen" onclick="setSkinColor('green');" title="绿色">绿</span></li>
<li><span class="skinPeagreen" onclick="setSkinColor('peagreen');" title="淡绿色">淡绿</span></li>
<li><span class="skinOrange" onclick="setSkinColor('orange');" title="橙色">橙</span></li>
<li><span class="skinPurple" onclick="setSkinColor('purple');" title="紫色">紫</span></li>
<li><a href=javascript:homePage();>设为首页</a></li>
</ol>
看的明白么,这是本人曾经做过的一个同功能的风格切换JS
测试就不用了,现在页面用的好好的,你看看满意么?
=============
你发给我的代码我看过了,我发了邮箱回复给你了,你看看

热心网友 时间:2022-04-21 13:29

兄弟分狗够高的,

呵呵只能给你个思路 给一个link 然后给个id
用js去换他的href。。

/*获取Cookie值的方法*/
function getCookie(name){
//alert(document.cookie);
var search = name + "=";
if(document.cookie.length > 0){
var offset = document.cookie.indexOf(search);
if(offset != -1){
offset += search.length;
var end = document.cookie.indexOf(";", offset);
if(end == -1){end = document.cookie.length;};
return unescape(document.cookie.substring(offset, end));
}else {
return "";
}
}
return null;
}
/*写值到Cookie 中*/
function setCookieVal(name, value,savedays){
var today = new Date();
var expires = new Date();
var saveTime;
if(typeof savedays == "undefined"){
saveTime=30;
}else{
saveTime=savedays;
}
if(value instanceof Array){
value=value.join();
}
document.cookie = "";
if(saveTime==0){
document.cookie = name + "=" + escape(value)+";path=/";
}else{
expires.setTime(today.getTime() + 1000*60*60*24*Number(saveTime));
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString()+";path=/";
}
return value;
}
var skinC={"Default":"style/skinDefault.css","skin1":"style/skin1.css"}
var setFont={"setF1":"style/setFont01.css"}
function addLink(){
var heads=document.getElementsByTagName("head");
var newLink=document.createElement("link");
newLink.type="text/css";
newLink.rel="stylesheet";
newLink.id="pageSkin";
heads[0].appendChild(newLink);

var linkid=document.getElementById("pageSkin")
if(getCookie("wcjSkin")==0 || getCookie("wcjSkin")==undefined || getCookie("wcjSkin")==""){
linkid.href=skinC.Default;
}
if(getCookie("wcjSkin")==1){
linkid.href=skinC.skin1;
}

var IEw=(document.documentElement.clientWidth-910)/2;
var mR=document.getElementById("skinBox");

mR.style.right=IEw+45+"px"
}

function setLayout(o){
var lay=document.getElementById("skins");
var linkid=document.getElementById("pageSkin");
if(lay&&linkid){
if(o.className=="skin0"){
linkid.href=skinC.Default;
setCookieVal("wcjSkin",0);

//alert(getCookie("wcjSkin"))
}
if(o.className=="skin1"){
linkid.href=skinC.skin1;
setCookieVal("wcjSkin",1);
}
}
}

热心网友 时间:2022-04-21 15:04

具体的参考资料你可以运行下,结果记录到COOKIE,已经测试通过
<!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>JS更换CSS样式表记录COOKIE</title>
<link id="a" href="default.css" rel="stylesheet" type="text/css" >
<script type="text/javascript">
//去左空格
function ltrim(s){
return s.replace( /^\s*/, "");
}

//去右空格
function rtrim(s){
return s.replace( /\s*$/, "");
}

//去左右空格
function trim(s){
return rtrim(ltrim(s));
}

//写入COOKIE
function set_cookie(name,value,expires, path,domain,secure){
document.cookie = name + "=" + encodeURI(value) +
( (expires) ? ";expires=" + expires : "" ) +
( (path) ? ";path=" + path : "" ) +
( (domain) ? ";domain=" + domain : "" ) +
( (secure) ? ";secure" : "");
}

//读取COOKIE,返回的值是COOKIE的名为name的值,没有name这个名就会返回假
function read_cookie(name){
var cookie_string = decodeURI(document.cookie);
var cookie_array = cookie_string.split(";");
for(var i=0;i<cookie_array.length;i++){
var cookie_num = cookie_array[i].split("=");
var cookie_name = cookie_num[0];
var cookie_value = cookie_num[1];
if(trim(cookie_name)==name){
return cookie_value;
}
}
return false;
}

//更换样式表写入状态到COOKIE
function change_style(){
var control = document.getElementById("style_menu");
if(control.selectedIndex>0){//表单列表的索引不是0时,才进行更换样式表,记录状态到COOKIE的操作
var to_css = control.options[control.selectedIndex].value;
document.getElementById("a").href = to_css;
var cookie_date = new Date();
cookie_date.setFullYear(cookie_date.getFullYear()+1);//保存一年时间,不要用setYear(),火狐显示的是年份-1900
set_cookie("css_style",to_css,cookie_date.toUTCString());
}
}

var get = read_cookie("css_style");
//名为css_style的COOKIE有值时调用该值的样式表
if(get!=false){
document.getElementById("a").href = get;
}
</script>
</head>

<body>
<form action="" method="get">
<label>选择风格:</label>
<select id="style_menu" name="style_menu" onchange="change_style();">
<option>-------</option>
<option value="default.css">缺省风格</option>
<option value="blue.css">蓝色风格</option>
</select>
</form>
<!--[if ie 6]><a id="for_ie6" href="#"><table><tr><td><![endif]-->
<div>
<a id="nor" href="#">清荣峻茂</a>
<ul>
<li><a class="one" href="#">水清</a></li>
<li><a class="need" href="#">树荣</a></li>
<li><a class="need" href="#">山高</a></li>
<li><a class="need" href="#">草盛</a></li>
</ul>
</div>
<!--[if ie 6]></td></tr></table></a><![endif]-->
</body>
</html>

参考资料:http://www.qxhtml.cn/comdream_detail.php?id=29

热心网友 时间:2022-04-21 16:55

好一段时间没有碰JS的cookie有点生疏了..希望是你要的..

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="stylesheet" href="" type="text/css" id="css">
<title>CSS编程难题</title>
<script>
window.onload=function(){
var roll=document.getElementById("roll");
var css="mor.css";
if(document.cookie){
var cookies=document.cookie.split("; ");
for(var i=0;i<cookies.length;i++){
if(cookies[i].split("=")[0]=="name"){
css=cookies[i].split("=")[1];
document.getElementById("css").href=css;
}
}

}
roll.onclick=function(){
if(css=="mor.css"){
document.getElementById("css").href="even.css";
css="even.css";
}else{
document.getElementById("css").href="mor.css";
css="mor.css";
}
var date=new Date();
date.setMonth(date.getMonth()+6);
document.cookie="name="+css+";expires="+date.toUTCString();
}
}
</script>
</head>

<body>
<input type="button" id="roll" value="rollcolor">
</body>
</html>

热心网友 时间:2022-04-21 19:03

我以前找过这个代码。
javascript+css实时切换网页风格、皮肤,并存入cookie。
这个应该就是你想要的,在这里下载:http://www.2ky.cn/d/156/4551.html

参考资料:http://www.2ky.cn/d/156/4551.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是家族办公室? 什么是家族办公室?一次讲清楚! 家庭财富管理与传承发展之第五章 家族办公室功能和优势简析 \"薛定谔的猫\"是什么?和动物相关的著名实验有哪些? 谁能帮我找到罗伯特•西尔弗伯格的短篇科幻小说《借体者》,重奖... 克隆人挑战了社会伦理吗? 神舟十三号发射直播时间几点开始?附直播地址 华为手机纯净模式如何关掉? 华为纯净模式关闭有什么影响 手机纯净模式可以关吗 Featuressuch as height, weight, and skin colour____ from individual to individual and from face... 改变字体颜色有什么软件吗 missha skin color 是什么意思? 人类为什么有黑种人,白种人、黄种人和棕种的? she is got light skin color在这里is和共同都是动词,不明白 在希腊神话中 people&#39;s skin color 人的肤色 是怎么解释的 是个什么故事 网页中出现&lt;%=skincolor%&gt;什么意思 人为什么会有黑色的皮肤? 红皮肤和黄皮肤怎么区别 聚四氟乙烯浓缩分散液的用途有哪些 聚四氟乙烯分散液什么密度熔融效果最好 昏暗的同义词是什么 与昏暗意思相近的词 电影《春歌》正式改名为《妈妈!》,改名之后能引起更多人的共鸣吗? 电影《春歌》正式改名为《妈妈!》,这部影片为什么会决定改名呢? “农民工”正式更名,新名字公布“新产业工人”,这一名称象征着什么? 江苏苏宁足球俱乐部正式更名,更名的原因是什么? 斯台普斯正式改名,这里曾是多少球迷的青春? 沃尔沃XC60 B5混动版实测 – 热门SUV再升级 xc90B5和b6自动刹车区别 In the same way, our skin color depends to a large extent on how much sunshine we get. #include&quot;Cat.h&quot; #include&lt;time.h&gt; void Cat::setSkinColor() { int m; srand(time(NULL));&#47;&#47;产生随机数 m= 显卡普遍降价,国内市场也出现降价迹象,市场能等到“平价”卡吗? 显卡价格降了吗 什么牌子的牙膏含氟 什么牙膏含氟量高 浅粉色和浅杏色的散粉颜色区别? 电脑装了一个CAD,打开后显示激活!是怎么回事!?该怎么弄? win10系统更新后我的CAD和3dmax全部都需要重新激活怎么办? 更新win10后cad和 3d 不能运行要重新激活注册为什么 喜欢上了一个有女朋友的男生,这时候该怎么办? 喜欢上一个有女朋友的男生该怎么办 喜欢上有女朋友的男生怎么办 喜欢上一个有女朋友的男生,还是自己的同事,该怎么办呢? 喜欢上一个有女朋友的男生该怎么办? 我喜欢的男生有女朋友,我应该如何争取? 我喜欢一个男生,但他有女朋友,我好难过,该怎么办? 两次都喜欢上有女朋友的男生(但没做出破坏他们的行为),我是不是心理有问题? 我喜欢上了一个有女朋友的男生,我该不该继续? 桂圆有什么营养价值