http://cafe.naver.com/q69/89980

자바스크립트로 작성된 동적으로 스타일쉬트 변경하는 코드입니다. 사용법은




CODE:





  1. <link rel="alternate stylesheet" type="text/css" href="http://경로/css파일이름1.css" title="style1" media="screen"/>


  2. <link rel="alternate stylesheet" type="text/css" href="http://경로/css파일이름2.css" title="style2" media="screen"/>

처럼<head></head>안에 사용할 CSS파일들을 선언해주고(title 속성 필수입니다.),


저 아래의 코드를 <script type="text/javascript></script>안에 넣어준 후,


<a href="#" onClick="setActiveStyleSheet('style1')">첫번째 스타일</a>
처럼 javascript 코드를 사용해주시면 됩니다.




CODE:





  1. function setActiveStyleSheet(title) {


  2.   var i, a, main;


  3.   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {


  4.     if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {


  5.       a.disabled = true;


  6.       if(a.getAttribute("title") == title) a.disabled = false;


  7.     }


  8.   }


  9. }


  10.  


  11. function getActiveStyleSheet() {


  12.   var i, a;


  13.   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {


  14.     if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) {


  15.       return a.getAttribute("title");


  16.     }


  17.   }


  18.   return null;


  19. }


  20.  


  21. function getPreferredStyleSheet() {


  22.   var i, a;


  23.   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {


  24.     if(a.getAttribute("rel").indexOf("style") != -1


  25.        && a.getAttribute("rel").indexOf("alt") == -1


  26.        && a.getAttribute("title")


  27.        ) return a.getAttribute("title");


  28.   }


  29.   return null;


  30. }


  31.  


  32. function createCookie(name,value,days) {


  33.   if (days) {


  34.     var date = new Date();


  35.     date.setTime(date.getTime()+(days*24*60*60*1000));


  36.     var expires = "; expires="+date.toGMTString();


  37.   }


  38.   else expires = "";


  39.   document.cookie = name+"="+value+expires+"; path=/";


  40. }


  41.  


  42. function readCookie(name) {


  43.   var nameEQ = name + "=";


  44.   var ca = document.cookie.split(';');


  45.   for(var i=0;i <ca.length;i++) {


  46.     var c = ca[i];


  47.     while (c.charAt(0)==' ') c = c.substring(1,c.length);


  48.     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);


  49.   }


  50.   return null;


  51. }


  52.  


  53. window.onload = function(e) {


  54.   var cookie = readCookie("style");


  55.   var title = cookie ? cookie : getPreferredStyleSheet();


  56.   setActiveStyleSheet(title);


  57. }


  58.  


  59. window.onunload = function(e) {


  60.   var title = getActiveStyleSheet();


  61.   createCookie("style", title, 365);


  62. }


  63.  


  64. var cookie = readCookie("style");


  65. var title = cookie ? cookie : getPreferredStyleSheet();


  66. setActiveStyleSheet(title);