jQuery基于cookie实现换肤功能实例


Posted in jQuery onOctober 14, 2017

本文实例讲述了jQuery基于cookie实现换肤功能。分享给大家供大家参考,具体如下:

换肤,在你使用QQ、浏览器、酷狗等软件时,总是能看到这两个字(也有叫皮肤)。不过换肤的确能解决很多人的口味,换肤看似一个无关紧要的功能,但其实能起到吸引用户的作用。好啦,话不多说,开始上课。

附上本人的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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('class');//读取本地的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(';');//读取本地cookie的内容是"xxx.xxx;xxx.xxx",所以我们去掉';'后,它会以数组的形式保存入ca内。
    for(var i=0;i<ca.length;i++){//循环ca数组
      var c=ca[i];
      while(c.charAt(0)==' '){//如果开头第一个字符是空格的话,读取就从第二位到最后一位
        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">
  <div 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>
  </div>
</body>
</html>

把上面的代码看懂后,再copy到你编辑软件中查看效果。点击右上角的颜色块,页面的背景色变成了颜色块对应的颜色,然后关闭你的浏览器,再次打开这个页面,是不是惊奇的发现,颜色就是你上次关闭浏览器的颜色。我在代码中都加上了相应的注释,别看script代码长,其实很容易理解,就是利用浏览器的cookie保存你的值,实现时刻记录你的颜色选择。

在下一篇文章中,我们会使用cookie.js插件,来实现换肤功能。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jquery 校验中国身份证号码实例详解
Apr 11 jQuery
使用jQuery和ajax代替iframe的方法(详解)
Apr 12 jQuery
JQuery实现定时刷新功能代码
May 09 jQuery
jQuery.form.js的使用详解
Jun 14 jQuery
jQuery实现的弹幕效果完整实例
Sep 06 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
使用jQuery动态设置单选框的选中效果
Dec 06 jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
jQuery实现飞机大战小游戏
Jul 05 jQuery
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
Oct 13 #jQuery
bootstrap可编辑下拉框jquery.editable-select
Oct 12 #jQuery
jQuery中 DOM节点操作方法大全
Oct 12 #jQuery
jQuery自动或手动图片切换效果
Oct 11 #jQuery
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 #jQuery
jQuery中过滤器的基本用法示例
Oct 11 #jQuery
jQuery中extend函数简单用法示例
Oct 11 #jQuery
You might like
松下Panasonic RF-B65电路分析
2021/03/02 无线电
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
PHP 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
PHP二进制与字符串之间的相互转换教程
2016/10/14 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
jQuery中库的引用方法
2018/01/06 jQuery
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
python合并同类型excel表格的方法
2018/04/01 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
python计算n的阶乘的方法代码
2019/10/25 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
财务经理的岗位职责
2013/12/17 职场文书
企业演讲稿范文
2013/12/28 职场文书
社会实践心得体会
2014/01/03 职场文书
物业管理专业求职信
2014/06/11 职场文书
视光学专业自荐信
2014/06/24 职场文书
欢迎新生标语
2014/10/06 职场文书
水电工程师岗位职责
2015/02/13 职场文书
美丽心灵观后感
2015/06/01 职场文书
结婚纪念日感言
2015/08/01 职场文书
检举信的写法
2019/04/10 职场文书
创业计划书之家教托管
2019/09/25 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python