Heim  >  Artikel  >  Web-Frontend  >  jQuery-Implementierung einer Skin-Änderungsfunktion basierend auf Cookies

jQuery-Implementierung einer Skin-Änderungsfunktion basierend auf Cookies

韦小宝
韦小宝Original
2018-01-12 09:56:571437Durchsuche

In diesem Artikel wird hauptsächlich die auf Cookies basierende Skin-Änderungsfunktion von jQuery vorgestellt. Er analysiert die Funktionsweise von jQuery zum Aufzeichnen und Lesen von Benutzerinformationen, um Seitenstile anhand spezifischer Beispiele zu implementieren zu diesem Artikel.

Das Beispiel in diesem Artikel beschreibt, wie jQuery die Skin-Änderungsfunktion basierend auf Cookies implementiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Skin-Änderung, Sie können diese beiden Wörter (auch Skin genannt) immer sehen, wenn Sie QQ, Browser, Kugou und andere Software verwenden. Allerdings kann die Hautveränderung tatsächlich den Geschmack vieler Menschen treffen. Die Hautveränderung mag wie eine unbedeutende Funktion erscheinen, kann aber tatsächlich Benutzer anlocken. Okay, ohne weitere Umschweife, fangen wir mit dem Unterricht an.

Im Anhang ist mein Code:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>cookie的使用</title>
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<style>
.huanFu{
  float:right;
}
.huanFu ul li{
  width:30px;height:30px;
  list-style:none;
  margin:0 5px;
  float:left;
  cursor:pointer;
  border:1px solid #000;
}
.fu1{background-color:#F00;}
.fu2{background-color:#0F0;}
.fu3{background-color:#00F;}
.fu4{background-color:#FF0;}
.huanFu ul li.select{border:3px solid #000;margin-top:-3px;}
</style>
<script>
$(function(){
  var cookieClass=getCookie(&#39;class&#39;);//读取本地的Cookie
  if(cookieClass){
    $("body").attr("class",cookieClass);//把页面的背景恢复成Cookie保存的颜色
  }else{
    $("body").attr("class","fu1");
  }
  $(".huanFu ul li").on("click",function(){
    $(this).addClass("select").siblings().removeClass("select");//标示出选中的样式
    var fuName=$(this).attr("fuName");//取得class名。讲解:起了一个fuName属性,在里面存了fu1,现在取出来而已
    $("body").attr("class",fuName);//改变body的class属性来达到背景换色的效果
    function SetCookie(name,value,day){//三个传值,名字、值、保存天数
      var exp = new Date();//取得本机当前时间(含日期)
      exp.setTime(exp.getTime() + day*24*60*60*1000);//把天数变成毫秒保存起来
      document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();//以name=fu1;expires=Date {Thu Jun 26 2014 23:23:25 GMT+0800}这一长串的字符串保存到本机的cookie中
    }
    SetCookie("class",fuName,7);//设置Cookie过程
  });
  function getCookie(name){//读取本地的Cookie过程
    var nameTit=name+"=";//此时的name值就是"class",nameTit="class="
    var ca=document.cookie.split(&#39;;&#39;);//读取本地cookie的内容是"xxx.xxx;xxx.xxx",所以我们去掉&#39;;&#39;后,它会以数组的形式保存入ca内。
    for(var i=0;i<ca.length;i++){//循环ca数组
      var c=ca[i];
      while(c.charAt(0)==&#39; &#39;){//如果开头第一个字符是空格的话,读取就从第二位到最后一位
        c=c.substring(1,c.length);
      }
      if(c.indexOf(nameTit)==0){//判断是否存在,并是否第一位开始的"class="
        return c.substring(nameTit.length,c.length);//取得class=fu1中的"fu1"
      }
      return null;
    }
  }
});
</script>
</head>
<body class="fu1">
  <p class="huanFu">
    <ul>
      <li class="fu1" fuName="fu1"></li>
      <li class="fu2" fuName="fu2"></li>
      <li class="fu3" fuName="fu3"></li>
      <li class="fu4" fuName="fu4"></li>
    </ul>
  </p>
</body>
</html>

Nachdem Sie den obigen Code verstanden haben, kopieren Sie ihn in Ihre Bearbeitungssoftware, um den Effekt zu sehen. Klicken Sie auf den Farbblock in der oberen rechten Ecke, und die Hintergrundfarbe der Seite ändert sich in die Farbe, die dem Farbblock entspricht. Schließen Sie dann Ihren Browser und öffnen Sie die Seite erneut. Sind Sie überrascht, dass die Farbe die Farbe ist, die Sie zuletzt ausgewählt haben? schloss den Browser. Ich habe dem Code entsprechende Kommentare hinzugefügt, aber er ist eigentlich sehr einfach zu verstehen. Er verwendet das Cookie des Browsers, um Ihren Wert zu speichern und Ihre Farbauswahl jederzeit aufzuzeichnen.

Verwandte Empfehlungen:

jquery und Ajax realisieren die dreistufige Verknüpfungskapselung und Nichtkapselung von Provinzen und Gemeinden

Ajax-Cross- Domain Lösung für das Problem verlorener Zugriffscookies

Detaillierte Erklärung zum Erhalten von Cookies und zum Löschen von Cookies mithilfe von JavaScript

Das obige ist der detaillierte Inhalt vonjQuery-Implementierung einer Skin-Änderungsfunktion basierend auf Cookies. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn