簡(jiǎn)單實(shí)現(xiàn)js頁(yè)面切換功能

字號(hào):


    本文為大家介紹了js頁(yè)面換膚功能處理原理  (*需要在有服務(wù)器環(huán)境下測(cè)試使用*),供大家參考,具體內(nèi)容如下
    原理:
    1.換膚是讓頁(yè)面采用不用的樣式設(shè)置
    2.我們把要換膚的地方根據(jù)不用皮膚做成多個(gè)樣式表文件
    3.獲取link的id
    4.修改link的href屬性改變樣式表
    5.采用了不用樣式表,就是使用對(duì)應(yīng)皮膚樣式
    6.利用cookie技術(shù)用戶原則,用戶再次打開(kāi)頁(yè)面也會(huì)采用上次選用皮膚
    7.讀取cookie要在頁(yè)面載入開(kāi)始,保證對(duì)應(yīng)皮膚css提前加載
    <html>
    <head>
    <title>js頁(yè)面換膚功能</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頁(yè)面換膚功能處理原理
    1.換膚是讓頁(yè)面采用不用的樣式設(shè)置
    2.我們把要換膚的地方根據(jù)不用皮膚做成多個(gè)樣式表文件
    3.獲取link的id
    4.修改link的href屬性改變樣式表
    5.采用了不用樣式表,就是使用對(duì)應(yīng)皮膚樣式
    6.利用cookie技術(shù)用戶原則,用戶再次打開(kāi)頁(yè)面也會(huì)采用上次選用皮膚
    7.讀取cookie要在頁(yè)面載入開(kāi)始,保證對(duì)應(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(){
     //點(diǎn)擊按鈕換膚
     var skin1=document.getElementById("skin1");
     var skin2=document.getElementById("skin2");
     var skin3=document.getElementById("skin3");
     var Days = 30; //設(shè)置過(guò)期時(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>
    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助