网页换肤,模块换肤,jQuery的Cookie插件使用(转)

具体效果如下:

第一次加载如下图:

然后点击天蓝色按钮换成天蓝色皮肤如下图:

然后关闭网页重新打开或者在打开另一个网页如下图:

因为皮肤用Cookie保存了下来,所以不会重置

具体的实现代码如下:

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>原因在于chrome不支持js在本地操作cookie!</title>
    <!--原因在于chrome不支持js在本地操作cookie!,所以要么在VS运行环境下用chrome,要么用IE等其他浏览器打开-->
    <!--各个皮肤样式文件(css)的引入-->
<link href="css/default.css" rel="stylesheet" type="text/css"  />
<link href="css/skin_0.css" rel="stylesheet" type="text/css" id="cssfile" />

<script src="jquery-1.11.3.js" type="text/javascript"></script>
    <!--因为要写入到Cookie,所以我们引入一个jQuery.Cookie.js插件-->
    <script src="js\jquery.cookies.2.2.0.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            var $li = $("#skin li");
            $li.click(function () {
                //当前li元素被选中,添加样式
                $("#" + this.id).addClass("selected")       //去掉其他同辈li元素的选中
                                                    .siblings().removeClass("selected");
                //网页内容换肤(更改样式)
                $("#cssfile").attr("href", "css/" + this.id + ".css");
                
                //将皮肤设置写入Cookie,设置网页皮肤Cookie,Cookie有效期设置为100个小时
                $.cookies.set(‘MyCssSkin‘, this.id, { hoursToLive: 100 });
                //$.cookie("MyCssSkin", this.id, { path: ‘/‘, expires: 10 });
                //alert("cookie存进去了");
            });
            //读取Cookie,应用保存的皮肤设置
            var cookie_skin = $.cookies.get("MyCssSkin");//读取保存的Cookie
            //alert("读到cookie了");
            //如果存在Cookie
            if (cookie_skin) {
                //当前li元素选中
                $("#" + cookie_skin).addClass("selected")               //  当前的li元素添加选中样式,其他的移除样式
                                                        .siblings().removeClass("selected");
                $("#cssfile").attr("href", "css/" + cookie_skin + ".css");//设置不同皮肤
                $.cookie("MyCssSkin", cookie_skin, { path: ‘/‘, expires: 10 });//写入到Cookie
            }
        });
       
     
    </script>

</head>
<body>
    <ul id="skin">
        <li id="skin_0" title="灰色" class="selected">灰色</li>
        <li id="skin_1" title="紫色">紫色</li>
        <li id="skin_2" title="红色">红色</li>
        <li id="skin_3" title="天蓝色">天蓝色</li>
        <li id="skin_4" title="橙色">橙色</li>
        <li id="skin_5" title="淡绿色">淡绿色</li>
    </ul>
    <div id="div_side_0">
        <div id="news">
            <h1 class="title">时事新闻</h1>
        </div>
    </div>
    <div id="div_side_1">
        <div id="game">
            <h1 class="title">娱乐新闻</h1>
        </div>
    </div>
</body>
</html>

需要的附件
唉。。竟然没有上传文件的。。无语

Cookies插件使用方法:

1. 不用说,首先你得下载jQuery及Cookies插件。

2. 在网页的<body>前加上:

<script type="text/javascript" src="http://513394217.blog.163.com/blog/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="http://513394217.blog.163.com/blog/jquery.cookies.2.2.0.min.js"></script>

src=后面的那一长串就是下载的jQuery和Cookies插件的文件名,如果你和我不一样就改改。

3. 如何添加/修改cookie并设定过期时间:

$.cookies.set(‘cookie_id‘, ‘cookie_value‘, { hoursToLive: 100 });

上面是添加或修改一个cookie,并将其过期/失效时间设定在100小时之后,注意大括号是必须的。

过期失效时间还有另外一个设置方式,指定一个绝对时间:

expireDate = new Date();
expireDate.setTime( expireDate.getTime() + ( 100 * 60 * 60 * 1000 ) );

$.cookies.set(‘cookie_id‘, ‘cookie_value‘, {expiresAt:expireDate});

expireAt参数精确到毫秒。大括号里还可以添加path, domain, secure等参数,这里不做介绍。如果hoursToLive和expiresAt都指定了,则以expiresAt为准。

4. 如何获取cookie

$.cookies.get(‘cookie_id‘);

5. 如何删除cookie

$.cookies.del(‘cookie_id‘);

原文地址:https://www.cnblogs.com/snowhite/p/10366270.html

时间: 2024-10-15 17:13:57

网页换肤,模块换肤,jQuery的Cookie插件使用(转)的相关文章

08.01《jQuery》——cookie插件的简单应用和自己写的简单更换颜色插件

1.Cookie是网站设计者放置在客户端的小文本文件.实现:存储用户曾经浏览过的产品列表,记住用户喜欢浏览哪类新闻等. 在用户允许的情况下,还可以存储用户的登录信息,使得用户在访问网站时不必每次都键入这些信息. 首先上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="../jqu

JQuery:cookie插件

JQuery居然没有操作cookie相关的函数,搜了下官方有个cookie的插件. 简单使用方法: <head> <title>JQuery-Cookie插件</title> <script type="text/javascript" src="jquery-1.4.js"></script> <script type="text/javascript" src="jq

【jQuery】cookie插件

通过该插件的学习使我对cookie.Date().getDate().setDate().toUTCString()有了更直观的了解,具体分析见注释: function(key, value, options),调用该插件需要传入三个参数 如: var COOKIE_NAME = 'test_cookie'; var ADDITIONAL_COOKIE_NAME = 'additional'; $('a').eq(0).click(function() { // 用天数设置 cookie $.c

jquery.cookie.js——jquery的cookie插件

一.JS文件 /*! * jQuery Cookie Plugin v1.4.1 * https://github.com/carhartl/jquery-cookie * * Copyright 2006, 2014 Klaus Hartl * Released under the MIT license */ (function (factory) { if (typeof define === 'function' && define.amd) { // AMD (Register

jQuery之换肤与cookie插件

有时候一个网页可以有多个皮肤进行选择,也就是不同的背景,或是一整套新的css,能使整个页面变成另一种风格. 这个功能可以用jQuery来实现.外加cookie插件.有了cookie,就可以长时间的保存选择后的背景样式,而不至于每次刷新界面都会转入默认的画面. 效果如下: 代码之div+css研读: <body> <ul id="skin"> <li id="skin_0" title="灰色" class="

jquery的各种插件调用(有些已经过时,以备注,其他的一些可以闲的时候用作拆解)

jquery的valiteDate验证插件应用 <!DOCTYPE html> <html> < head> < meta charset= "UTF-8"> < title></title > < script src= "js/jquery-1.11.1.min.js" type="text/javascript" charset="utf-8"

jquery设置cookie

1.下载jquery-1.11.1.js,因为jquery2不支持IE8,所以使用了jquery1版本 2.下载jquery的cookie插件 jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { // name and value given, set cookie options = options || {}; if (value === null) { value = '';

&lt;&lt;&lt; 网页中如何利用原生js和jquery储存cookie

javascript当中的cookie机制,使应用达到了真正的全局变量的要求,cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是JavaScript本身的性质,由于cookie机制是把信息储存到硬盘,所以他可以用来做全局变量 cookie有关安全性和作用域 1.cookie可能被禁用.当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能:  2.cookie是与浏览器相关的.这

jQuery 操作Cookie

一个轻量级的cookie 插件,可以读取.写入.删除 cookie. 下载地址:http://plugins.jquery.com/cookie/ (在实际中可以用这个保存cookie保存用户的习惯,比如换肤,保存用户名,保存密码,自动登录....等很实用的功能) jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. <script type="text/javascript" src="js/