分享

JS版网站风格切换实例代码

 共同成长888 2015-04-19

JS版网站风格切换实例代码 

这个网站风格切换除了带记忆功能外,还可设定保持时间,比如5天-180天,过了时间就自动恢复到默认样式表。

样式表连接,设3种风格,把你要改变的图片背景等写入样式表。

  1. <link rel="stylesheet" type="text/css" href="css/bg1.css" title="bg1" />
  2. <link rel="stylesheet" type="text/css" href="css/bg2.css" title="bg2" />
  3. <link rel="stylesheet" type="text/css" href="css/bg3.css" title="bg3" />

第一个是默认样式表。

JS代码如下:

  1. //Style Sheet Switcher version 1.0 Nov 9th, 2005
  2. //Author: Dynamic Drive: http://www.
  3. //Usage terms: http://www./notice.htm
  4. function getCookie(Name) {
  5. var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
  6. if (document.cookie.match(re)) //if cookie found
  7. return document.cookie.match(re)[0].split("=")[1] //return its value
  8. return null
  9. }
  10. function setCookie(name, value, days) {
  11. var expireDate = new Date()
  12. //set "expstring" to either future or past date, to set or delete cookie, respectively
  13. var expstring=(typeof days!="undefined")? expireDate.setDate(expireDate.getDate()+parseInt(days)) : expireDate.setDate(expireDate.getDate()-5)
  14. document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
  15. }
  16. function deleteCookie(name){
  17. setCookie(name, "moot")
  18. }
  19. function setStylesheet(title) {
  20. var i, cacheobj
  21. for(i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++) {
  22. if(cacheobj.getAttribute("rel").indexOf("style") != -1 && cacheobj.getAttribute("title")) {
  23. cacheobj.disabled = true
  24. if(cacheobj.getAttribute("title") == title)
  25. cacheobj.disabled = false //enable chosen style sheet
  26. }
  27. }
  28. }
  29. function chooseStyle(styletitle, days){
  30. if (document.getElementById){
  31. setStylesheet(styletitle)
  32. setCookie("mysheet", styletitle, days)
  33. }
  34. }
  35. var selectedtitle=getCookie("mysheet")
  36. if (document.getElementById && selectedtitle!=null) //load user chosen style sheet if there is one stored
  37. setStylesheet(selectedtitle)

调用方法

  1. <a title="默认风格" href="javascript:chooseStyle('bg1',5)">默认风格</a>
  2. <a title="橙色风格" href="javascript:chooseStyle('bg2',5)">橙色风格</a>
  3. <a title="蓝色风格" href="javascript:chooseStyle('bg3',5)">蓝色风格</a>

注意:title内容改成你样式表的名字,我这里是设定为5天。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多