账号通
    

账号  

密码  

11853

查看

11

回复
主题:[分享]超酷的无刷新可保存CSS换肤实现方法(兼容IE6.0/7.0/8.0/FF) [收藏主题] 本贴被认定为精华 转到:  
cvq 当前离线

704

主题

0

广播

0

粉丝
添加关注
级别:六年级

用户积分:4700 分
登录次数:151 次
注册时间:2008/8/26
最后登录:2016/8/22
cvq 发表于:2009/3/12 14:23:00   | 只看该作者 查看该作者主题 楼主 
科汛在线考试系统(NET)

目标是通过点击图片能无刷新更换外部样式表(换肤),且将最后一次的样式设置保存在cookie中 ,这样,即使关闭浏览器再打开还是上一次的***。具体效果请看:http://www.feed-add.com
 如果觉得不放心或是有广告嫌疑也可以去看看CCTV或者是TOM的首页,原理和效果差不多但方法不一样。
首先先建一个文本文件,输入以下代码:
<!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" />
<link href="css/style.css" type="text/css" rel="stylesheet" />
<script language="javascript" type="text/javascript">
 function getCookie(name)
    {
        var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
        if(arr=document.cookie.match(reg)) return unescape(arr[2]);
        else return null;
    }
    function setCookie(name,value)
    {
        var Days = 30;
        var exp = new Date();
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
 var cssPath = "css/style";
 var styleID=0;
 //document.write('<link rel="stylesheet" type="text\/css" id="cssLink" href="'+cssPath+styleID+'.css" \/>');


 function styleChange(n) {
  var cssLink=document.getElementById("cssLink");
  cssLink.href = cssPath+n+".css";
  setCookie("color",cssPath+n+".css");
 }
 if (getCookie("color")!=null)
 {
 document.write('<link rel="stylesheet" type="text\/css" id="cssLink" href="'+getCookie("color")+'" \/>');
 }
 else
 {
 document.write('<link rel="stylesheet" type="text\/css" id="cssLink" href="'+cssPath+styleID+'.css" \/>');
 }
</script>


 


</head>


<body><div id="title">


<a href="javascript:styleChange(1);" class="red" title="紫色">紫色</a>
<a href="javascript:styleChange(2);" class="yellow" title="黄色">黄色</a>
<a href="javascript:styleChange(3);" class="blue" title="蓝色">蓝色</a>
<a href="javascript:styleChange(4);" class="green" title="绿色">绿色</a>
</div>
<div id="warptest">
测试文字测试文字</div>
</body>
</html>



保存并重命名为index.html,然后在根目录下新建一个名为CSS的文件夹,把下面这张图片重命名为theme.gif放入这个文件夹中

此主题相关图片如下:theme.gif
theme.gif,再在这个文件夹中新建五个文本文件,分别重命名为:style.cssstyle1.cssstyle2.cssstyle3.cssstyle4.css,以下是各个css文件的内容:
style.css:


#title a.red { background-position:15px 0px;}
#title a.yellow { background-position:75px 0px;}
#title a.blue { background-position:55px 0px;}
#title a.green { background-position:95px 0px;}
#warptest { width:480px; height:100px; background:#f7f7f7; border:1px solid #d3d3d3; padding:10px; color:#666;float:left}
#title{float:left}
#title a {margin-right:5px;
    width:15px;
    height:15px;
 text-indent:-999px;
 overflow:hidden;
 display:block;
 cursor:pointer;
 background-image:url(theme.gif);}

 
style1.css:


 #warptest { width:480px; height:100px; background:#fdf8f8; border:1px solid #990099; padding:10px; color:#990099}
#title a.red { background-position:15px 15px;}

style2.css:
#warptest { width:480px; height:100px; background:#fffff7; border:1px solid #ffcc00; padding:10px; color:#b28f06}
#title a.yellow { background-position:75px 15px;}


style3.css:
#warptest { width:480px; height:100px; background:#e8f5fe; border:1px solid #a9c9e2; padding:10px; color:#1b3d58}
#title a.blue { background-position:55px 15px;}
style4.css:
#warptest { width:480px; height:100px; background:#f8ffe7; border:1px solid #abdc8d; padding:10px; color:#33581d}
#title a.green { background-position:95px 15px;}
 好了,全部保存,用浏览器打开index.html,看看是不是很帅哈。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
chinamir 当前离线

322

主题

0

广播

0

粉丝
添加关注
级别:三年级

用户积分:990 分
登录次数:302 次
注册时间:2008/5/12
最后登录:2017/12/22
chinamir 发表于:2009/3/25 11:42:00   | 只看该作者 查看该作者主题 沙发 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zt2000 当前离线

93

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:1205 分
登录次数:133 次
注册时间:2006/7/1
最后登录:2017/11/29
zt2000 发表于:2009/3/25 11:21:00   | 只看该作者 查看该作者主题 藤椅 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
moson30 当前离线

763

主题

0

广播

0

粉丝
添加关注
级别:六年级

用户积分:5090 分
登录次数:245 次
注册时间:2007/3/31
最后登录:2010/4/27
moson30 发表于:2009/3/25 10:13:00   | 只看该作者 查看该作者主题 板凳 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2009/3/25 9:35:00   | 只看该作者 查看该作者主题 报纸 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
hills 当前离线

78

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:487 分
登录次数:15 次
注册时间:2009/1/20
最后登录:2009/10/22
hills 发表于:2009/3/25 9:29:00   | 只看该作者 查看该作者主题 地板 
科汛智能建站系统
酷的无刷新可保存CSS换肤实现方法
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
未注册用户 当前离线

18

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:381 分
登录次数:12 次
注册时间:2009/1/7
最后登录:2009/10/3
未注册用户 发表于:2009/3/13 9:50:00   | 只看该作者 查看该作者主题 7楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
msy168 当前离线

315

主题

0

广播

0

粉丝
添加关注
级别:三年级

用户积分:2400 分
登录次数:190 次
注册时间:2008/3/30
最后登录:2014/11/15
msy168 发表于:2009/3/12 18:27:00   | 只看该作者 查看该作者主题 8楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
astarxing 当前离线

236

主题

2

广播

0

粉丝
添加关注
级别:二年级

用户积分:3690 分
登录次数:180 次
注册时间:2008/9/8
最后登录:2020/2/19
astarxing 发表于:2009/3/12 17:53:00   | 只看该作者 查看该作者主题 9楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
sucaify 当前离线

62

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:643 分
登录次数:31 次
注册时间:2007/1/13
最后登录:2012/3/7
sucaify 发表于:2009/3/12 16:11:00   | 只看该作者 查看该作者主题 10楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.21875秒 powered by KesionCMS 9.0