簡單實現(xiàn)js頁面切換功能

字號:


    本文為大家介紹了js頁面換膚功能處理原理  (*需要在有服務(wù)器環(huán)境下測試使用*),供大家參考,具體內(nèi)容如下
    原理:
    1.換膚是讓頁面采用不用的樣式設(shè)置
    2.我們把要換膚的地方根據(jù)不用皮膚做成多個樣式表文件
    3.獲取link的id
    4.修改link的href屬性改變樣式表
    5.采用了不用樣式表,就是使用對應(yīng)皮膚樣式
    6.利用cookie技術(shù)用戶原則,用戶再次打開頁面也會采用上次選用皮膚
    7.讀取cookie要在頁面載入開始,保證對應(yīng)皮膚css提前加載
    <html>
    <head>
    <title>js頁面換膚功能</title>
    <meta charset="utf-8">
    <link href="public.css" rel="stylesheet" type="text/css" />
    <link href="1.css" rel="stylesheet" type="text/css" id="skin" />
    <script type="text/javascript"> 
    /*
    js頁面換膚功能處理原理
    1.換膚是讓頁面采用不用的樣式設(shè)置
    2.我們把要換膚的地方根據(jù)不用皮膚做成多個樣式表文件
    3.獲取link的id
    4.修改link的href屬性改變樣式表
    5.采用了不用樣式表,就是使用對應(yīng)皮膚樣式
    6.利用cookie技術(shù)用戶原則,用戶再次打開頁面也會采用上次選用皮膚
    7.讀取cookie要在頁面載入開始,保證對應(yīng)皮膚css提前加載
    */
    //讀取cookie,換膚
    var skin=document.getElementById("skin");//拿到link元素
    var cookieval=document.cookie;
    var skipval=readcookie("skin");
    if(!skipval){//如果cookie不存在記錄
     skin.href="1.css";
    }else{
     skin.href=skipval+".css";//有記錄
    };
    window.onload=function(){
     //點擊按鈕換膚
     var skin1=document.getElementById("skin1");
     var skin2=document.getElementById("skin2");
     var skin3=document.getElementById("skin3");
     var Days = 30; //設(shè)置過期時間,30天以后
     var exp = new Date(); 
     exp.setTime(exp.getTime() + Days*24*60*60*1000);
     skin1.onclick=function(){ 
      skin.href="1.css";
      document.cookie = "skin=1;expires="+exp.toUTCString();
     };
     skin2.onclick=function(){
      skin.href="2.css";
      document.cookie = "skin=2;expires="+exp.toUTCString();
     };
     skin3.onclick=function(){
      skin.href="3.css";
      document.cookie = "skin=3;expires="+exp.toUTCString();
     };
    };
    //讀取cookie指定值
    function readcookie(key){ 
     var skinval=false;
     var arrkv=cookieval.split(";"); 
     for(var i=0;i<arrkv.length;i++){ 
      var itemc=arrkv[i].split("=");
      if(itemc[0]==key){ 
       skinval=itemc[1];
      }else{
      };
     }; 
     return skinval;
    };
    </script>
    </head>
    <body>
    <div>
     <div>
     <input type="button" value="皮膚1" id="skin1" />
     <input type="button" value="皮膚2" id="skin2" />
     <input type="button" value="皮膚3" id="skin3" />
     </div>
    </div>
    <div>
     <div>我是內(nèi)容1</div>
     <div>我是內(nèi)容2</div>
     <div>我是內(nèi)容3</div>
    </div>
    <div>
    我是尾部信息
    </div>
    </body>
    </html>
    以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助