Maison > interface Web > js tutoriel > le corps du texte

Implémentation jQuery d'une fonction de changement de peau basée sur les cookies

韦小宝
Libérer: 2018-01-12 09:56:57
original
1457 Les gens l'ont consulté

Cet article présente principalement la fonction de changement d'apparence de jQuery basée sur les cookies. Il analyse la méthode de fonctionnement de jQuery utilisant des cookies pour enregistrer et lire les informations de l'utilisateur afin d'implémenter des styles de page sur la base d'exemples spécifiques. Les amis intéressés par jQuery peuvent s'y référer. à cet article. Article

L'exemple de cet article décrit comment jQuery implémente la fonction de changement de skin basée sur les cookies. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Changement de skin, vous pouvez toujours voir ces deux mots (également appelés skin) lorsque vous utilisez QQ, un navigateur, Kugou et d'autres logiciels. Cependant, le changement de peau peut effectivement répondre aux goûts de nombreuses personnes. Le changement de peau peut sembler une fonction insignifiante, mais il peut en réalité attirer les utilisateurs. Bon, sans plus tarder, commençons le cours.

Ci-joint mon 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>
Copier après la connexion

Après avoir compris le code ci-dessus, copiez-le dans votre logiciel d'édition pour voir l'effet. Cliquez sur le bloc de couleur dans le coin supérieur droit et la couleur d'arrière-plan de la page change pour la couleur correspondant au bloc de couleur. Fermez ensuite votre navigateur et ouvrez à nouveau la page. Êtes-vous surpris de constater que la couleur est la couleur que vous avez utilisée en dernier. fermé le navigateur. J'ai ajouté les commentaires correspondants dans le code. Bien que le code du script soit long, il est en réalité très facile à comprendre. Il utilise le cookie du navigateur pour enregistrer votre valeur et enregistrer votre sélection de couleurs à tout moment.

Recommandations associées :

jquery et ajax réalisent une encapsulation et une non-encapsulation de liaison à trois niveaux des provinces et des municipalités

Ajax cross- domain Solution au problème de perte d'accès aux cookies

Explication détaillée de l'obtention de cookies et de la suppression des cookies à l'aide de JavaScript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal