HTML5学堂-码匠 HTML5学堂

您当前位于:DOM 文档操作 ——> 本地缓存cookie的基本语法,使用cookie实现换肤功能的代码实例

本地缓存cookie的基本语法,使用cookie实现换肤功能的代码实例

2015/04/28 16:49:48 | 作者:HTML5学堂(码匠) | 分类:DOM 文档操作 | 关键词:cookie,换肤,cookie语法,换肤功能

cookie语法 使用cookie实现换肤功能

HTML5学堂:cookie、本地存储虽然功能很简单,逻辑上也不复杂,但是大大提升了我们的用户体验,网站中随处可见cookie的应用,如京东、亚马逊的购物车、博客中极为常见的换肤功能;再如表单已有用户数据的记忆存储等等。微小的变化,却能改变很多~

初涉cookie

服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

在下面的效果当中,我们想实现的是网站的换肤操作。对于一个网页来说,改变其皮肤很简单,可以直接通过点击按钮控制不同css文件的载入,或者批量替换类名等各种方法。但是一旦换肤从一个单一网页“走向”整个网站,问题就来了,一个页面的样式变化了,再打开一个新的页面的时候,怎么能够保证样式也发生变化呢?

欢迎沟通交流~HTML5学堂

cookie基础运用-控制背景颜色

在一个页面当中,存在四个按钮,对于前三个按钮,每个按钮被点击的时候都会存储一个颜色值,在点击最后一个按钮的时候,进行颜色值的设置。在同网站下的其他网页文件当中,去获取到存储的这个颜色值,然后进行背景的设置。

效果如图:

HTML5学堂 cookie01 H5course
HTML5学堂 cookie02 H5course

此时打开cookie2.html文件(在此文件中进行了颜色值的获取与背景颜色的设置),会发现背景色已经变成了红色。

cookie的基本语法

  1. $.cookie(’name’, ‘value’); // 设置cookie的键值对
  1. $.cookie(’name’, ‘value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true}); // 设置cookie的键值对,有效期,路径,域,安全
  1. var account= $.cookie(’name’); // 读取cookie的值
  1. example $.cookie(’name’, null); // 删除一个cookie

DEMO代码如下:

注意:借用了两个插件,分别是jQuery和jquery.cookie.js,这两个插件在网上都可以直接下载到。

cookie.html文件代码:

  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>cookie</title>
  6. </head>
  7. <body>
  8.     <input type="button" value='rgba(255,0,0,0.5)'>
  9.     <input type="button" value='rgba(0,0,255,0.5)'>
  10.     <input type="button" value='rgba(0,255,0,0.5)'>
  11.     <input type="button" value='获取颜色值并设置背景颜色'>
  12. </body>
  13. <script src='jquery-1.7.2.js'></script>
  14. <script src='jquery.cookie.js'></script>
  15. <script>
  16.     var deColor = 0;
  17.     $('input').eq(0).click(function(){
  18.         deColor = $(this).val();
  19.     });
  20.     $('input').eq(1).click(function(){
  21.         deColor = $(this).val();
  22.     });
  23.     $('input').eq(2).click(function(){
  24.         deColor = $(this).val();
  25.     });
  26.     $('input').eq(3).click(function(){
  27.         //存储颜色值于一个cookie变量当中
  28.         $.cookie('cookie_Color', deColor);
  29.         $('body').css({
  30.             'background' : $.cookie('cookie_Color')
  31.         });
  32.     });
  33. </script>
  34. </html>

cookie2.html文件代码:

  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>cookie-独行冰海</title>
  6. </head>
  7. <body>
  8. </body>
  9. <script src='jquery-1.7.2.js'></script>
  10. <script src='jquery.cookie.js'></script>
  11. <script>
  12.     $('body').css({
  13.             'background' : $.cookie('cookie_Color')
  14.         });
  15. </script>
  16. </html>

欢迎沟通交流~HTML5学堂

微信公众号,HTML5学堂,码匠,原创文章,WEB前端,技术分享

HTML5学堂

原创前端技术分享

HTML5学堂,HTML5,WEB,前端,视频课程,技术视频,学习视频,面试,JS

原创视频课程

用心打造精品课程

微信小程序,决胜前端,面试题,面试题集合,前端,HTML5,真题

小程序-决胜前端

前端面试题宝库

原创书籍,学习书籍,书籍推荐,HTML5布局之路,HTML5,WEB前端

HTML5布局之路

非传统模式讲解前端

iOS,APP,码集,案例交互,JavaScript学习,WEB前端,HTML5

iOS APP 码集

案例交互式学习JS