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实现二级联动效果
Mar 30 jQuery
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
Jul 22 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
jQuery pjax 应用简单示例
Sep 20 jQuery
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
jQuery操作事件完整实例分析
Jan 10 jQuery
用jQuery实现抽奖程序
Apr 12 jQuery
jQuery实现简单飞机大战
Jul 05 jQuery
jquery插件实现轮播图效果
Oct 19 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
微信小程序组件传值图示过程详解
2019/07/31 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
python实现bucket排序算法实例分析
2015/05/04 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
Python切片工具pillow用法示例
2018/03/30 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
简单了解python反射机制的一些知识
2019/07/13 Python
使用 Python 在京东上抢口罩的思路详解
2020/02/27 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
解决python3输入的坑——input()
2020/12/05 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
个人自我剖析材料
2014/02/07 职场文书
技能比武方案
2014/05/21 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
抄袭同学作业检讨书1000字
2014/11/20 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
Python中的tkinter库简单案例详解
2022/01/22 Python