+ -
当前位置:首页 → 问答吧 → 动态CSS,换肤技术

动态CSS,换肤技术

时间:2007-06-14

来源:互联网

常见的例子就是:一个站点上有多个页面样式提供浏览者选择。

同时,在选择了某样式后,再次打开该页面时,将仍然保持该样式。

自然会想到了Cookie技术

下面是HTML代码部分(另外再加需要的CSS文件就可以使用了):

  1. <HTML>
  2. <HEAD>
  3. <link ID="skin" rel="stylesheet" type="text/css">
  4. <TITLE>换肤技术</TITLE>
  5. <SCRIPT LANGUAGE=javascript>
  6. <!--
  7. function SetCookie(name,value){
  8. var argv=SetCookie.arguments;
  9. var argc=SetCookie.arguments.length;
  10. var expires=(2<argc)?argv[2]:null;
  11. var path=(3<argc)?argv[3]:null;
  12. var domain=(4<argc)?argv[4]:null;
  13. var secure=(5<argc)?argv[5]:false;
  14. document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":"");
  15. }
  16. function GetCookie(Name) {
  17. var search = Name + "=";
  18. var returnvalue = "";
  19. if (document.cookie.length > 0) {
  20. offset = document.cookie.indexOf(search);
  21. if (offset != -1) {
  22. offset += search.length;
  23. end = document.cookie.indexOf(";", offset);
  24. if (end == -1)
  25. end = document.cookie.length;
  26. returnvalue=unescape(document.cookie.substring(offset,end));
  27. }
  28. }
  29. return returnvalue;
  30. }
  31. var thisskin;
  32. thisskin=GetCookie("nowskin");
  33. if(thisskin!="")
  34. skin.href=thisskin;
  35. else
  36. skin.href="css.css";
  37. function changecss(url){
  38. if(url!=""){
  39. skin.href=url;
  40. var expdate=new Date();
  41. expdate.setTime(expdate.getTime()+(24*60*60*1000*30));
  42. //expdate=null;
  43. //以下设置COOKIES时间为1年,自己随便设置该时间..
  44. SetCookie("nowskin",url,expdate,"/",null,false);
  45. }
  46. }
  47. //-->
  48. </SCRIPT>
  49. </HEAD>
  50. <BODY>
  51. <P>请选择下面的下拉菜单测试换肤效果</P>
  52. <a href=# onclick="changecss(‘css.css‘)">css.css</a>
  53. <a href=# onclick="changecss(‘css1.css‘)">css1.css</a>
  54. <a href=# onclick="changecss(‘css2.css‘)">css2.css</a>
  55. <a href=# onclick="changecss(‘css3.css‘)">css3.css</a>
  56. <br>
  57. <select onchange="changecss(this.value)">
  58. <option>选择样式单文件</option>
  59. <script language="javascript">
  60. var csss=new Array();
  61. csss[0]="css.css";
  62. csss[1]="css1.css";
  63. csss[2]="css2.css";
  64. csss[3]="css3.css";
  65. var i;
  66. for(i=0;i<4;i++)
  67. if(thisskin==csss[i])
  68. document.write("<option value=\""+csss[i]+"\" selected>"+csss[i]+"样式单文件</option>");
  69. else
  70. document.write("<option value=\""+csss[i]+"\">"+csss[i]+"样式单文件</option>");
  71. </script>
  72. </select>
  73. </BODY>
  74. </HTML>
复制代码

作者: 北极星   发布时间: 2007-06-14

谢谢管理员

作者: YSKING   发布时间: 2007-06-16

怎么不行呢,不能改变

作者: qiuqiu1984   发布时间: 2007-08-01

上边的?!不至于吧!?发得可以哈!

作者: 17616401   发布时间: 2008-01-03

我郁闷
搜索一大堆
基本上90%都是这断代码

作者: lindh   发布时间: 2008-01-14

我想用什么都可以吧,如果用jsp什么的就可以用session也可以暂时换吧,当然也可以用cookie。。

作者: wyf031   发布时间: 2008-01-18

我想直接写javascript也可以哦
只不过是暂时能改,刷新以后又变回原来的了。。
总之要想长久的换肤,我想还得用cookie吧

作者: wyf031   发布时间: 2008-01-18

cookie是正道

作者: 北极星   发布时间: 2008-01-18

如何删除cookie呢?是不是又变回原来的样式了?

作者: dannel8096   发布时间: 2008-01-23

记录在cookie里
删除了
肯定是不见了
呵呵

作者: 西门轩辕   发布时间: 2008-01-23

不错!~~~~

作者: zyj0021   发布时间: 2008-02-14

貌似很多人还在问基础的问题?

作者: 欢乐使者   发布时间: 2008-03-05

:handshake

作者: hackercom   发布时间: 2008-03-08

不知道AJAX到底怎么样,学习

作者: shanglongjie   发布时间: 2008-03-09

好像不能用的样子

作者: cyagi   发布时间: 2008-03-16

在菜单——工具——INTERNET选项
http://www.shanfox.cn

作者: shanfox   发布时间: 2008-03-20

很不错 不过这类技术的难题是做那些css累

作者: 亿年   发布时间: 2008-03-20

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

作者: 北京的云   发布时间: 2008-03-20

点好多次都没见他发生什么改变阿 ---------

作者: bcsbcs   发布时间: 2008-03-26

頂一個...

作者: lxp   发布时间: 2008-03-29

不行啊

作者: hemin007   发布时间: 2008-04-03

看了好久,没找到css,后来想想是要自己做吧!

作者: 程建芳   发布时间: 2008-04-03

好多哦!!

作者: 老友记   发布时间: 2008-04-06

搜藏了,等会测试一下

作者: aresli   发布时间: 2008-04-07

好东西,

作者: xxty   发布时间: 2008-04-14

好东西,

作者: xxty   发布时间: 2008-04-14

不好使吧

作者: mornone   发布时间: 2008-04-16

  OK了

作者: mornone   发布时间: 2008-04-16

还是不了解

作者: z26483770   发布时间: 2008-04-19

好东西,楼主辛苦了

作者: cacuco   发布时间: 2008-05-06

相关阅读 更多

热门下载

更多