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 相关文章推荐
JS jQuery使用正则表达式去空字符的简单实现代码
May 20 jQuery
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 jQuery
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
jQuery事件多次绑定与解绑问题实例分析
Feb 19 jQuery
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
jquery获取input输入框中的值
Nov 13 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
PHP 中执行系统外部命令
2006/10/09 PHP
smarty的section嵌套循环用法示例
2016/05/28 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
python+selenium开发环境搭建图文教程
2017/08/11 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
个人政风行风自查自纠报告
2014/10/21 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
会计岗位职责
2015/02/03 职场文书
小学教师年度个人总结
2015/02/05 职场文书
统计员岗位职责范本
2015/04/14 职场文书
预备党员考察意见范文
2015/06/01 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
护士心得体会范文
2016/01/25 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers