>  기사  >  웹 프론트엔드  >  쿠키를 기반으로 한 피부 변경 기능의 jQuery 구현

쿠키를 기반으로 한 피부 변경 기능의 jQuery 구현

韦小宝
韦小宝원래의
2018-01-12 09:56:571437검색

이 글에서는 주로 쿠키를 기반으로 한 jQuery의 스킨 변경 기능을 소개합니다. jQuery를 사용하여 사용자 정보를 기록하고 읽고 구체적인 예를 기반으로 페이지 스타일을 구현하는 방법을 분석합니다.

이 문서의 예에서는 jQuery가 쿠키를 기반으로 스킨 변경 기능을 구현하는 방법을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다:

스킨 변경, QQ, 브라우저, Kugou 및 기타 소프트웨어를 사용할 때 항상 이 두 단어(스킨이라고도 함)를 볼 수 있습니다. 하지만 스킨 체인징은 실제로 많은 사람들의 취향을 해결할 수 있습니다. 스킨 체인징은 별것 아닌 기능처럼 보이지만 실제로는 사용자를 매료시킬 수 있습니다. 좋아, 더 이상 고민하지 말고 수업을 시작하자.

첨부된 코드는

<!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>

위 코드를 이해한 후 편집 소프트웨어에 복사하여 효과를 확인하세요. 오른쪽 상단에 있는 색상 블록을 클릭하면 페이지의 배경색이 색상 블록에 해당하는 색상으로 변경됩니다. 그런 다음 브라우저를 닫고 페이지를 다시 열면 해당 색상이 마지막으로 표시됩니다. 브라우저를 닫았습니다. 코드에 해당 주석을 추가했습니다. 스크립트 코드는 길지만 실제로는 이해하기 매우 쉽습니다. 브라우저의 쿠키를 사용하여 값을 저장하고 색상 선택을 항상 기록합니다.

관련 권장 사항:

jquery 및 ajax는 지방 및 도시의 3단계 연결 캡슐화 및 비캡슐화를 구현합니다.

Ajax 도메인 간 액세스 시 쿠키 손실 문제에 대한 솔루션

JavaScript에 대한 자세한 설명 쿠키를 얻고 쿠키를 삭제하려면

위 내용은 쿠키를 기반으로 한 피부 변경 기능의 jQuery 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.