JS使用cookie设置样式的方法


Posted in Javascript onJune 30, 2016

本文实例讲述了JS使用cookie设置样式的方法。分享给大家供大家参考,具体如下:

var styleShow = ["blackgreen", "purple"];
var path = "/";
var StyleSwitch = {
  //设置样式
  setStyleSheet: function (StyleName) {
    var i, a, main;
    for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
      if (a.getAttribute("rel").indexOf("Style") != -1 && a.getAttribute("title")) {
        a.disabled = true;
        if (a.getAttribute("title") == StyleName) {
          a.disabled = false;
          this.setCookie("Style", StyleName);
        }
      }
    }
  },
  //获取当前使用样式
  getStyleSheet: function () {
    var i, a;
    for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
      if (a.getAttribute("rel").indexOf("Style") != -1 && a.getAttribute("title") && !a.disabled) {
        return a.getAttribute("title");
      }
    }
    return null;
  },
  //获取默认样式
  getPreferredStyleSheet: function () {
    var i, a;
    for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
      if (a.getAttribute("rel").indexOf("Style") != -1
    && a.getAttribute("rel").indexOf("alt") == -1
    && a.getAttribute("title")
    ) {
        return a.getAttribute("title");
      }
    }
    return null;
  },
  //获取cookie
  getCookie: function (name) {
    var cookieName = encodeURIComponent(name) + "=",
    cookieStart = document.cookie.indexOf(cookieName),
    cookieValue = null;
    if (cookieStart > -1) {
      var cookieEnd = document.cookie.indexOf(";", cookieStart);
      if (cookieStart == -1) {
        alert(-2);
        cookieEnd = document.cookie.length;
      }
      cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
    }
    for (var i = 0; i < styleShow.length; i++) {
      if (cookieValue == styleShow[i]) {
        alert(styleShow[i]);
        return styleShow[i];
      }
    }
    return styleShow[0];
  },
  //生成cookie
  //name cookie名
  //value 值
  //expires 过期时间
  //path 路径
  setCookie: function (name, value, expires, path, domain, secure) {
    var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value) + ";";
    if (expires instanceof Date) {
      cookieText += "expires=" + expires.toGMTString();
    }
    if (path) {
      cookieText += ";path=" + path;
    }
    if (domain) {
      cookieText += ";domain=" + domain;
    }
    if (secure) {
      cookieText += ";secure";
    }
    document.cookie = cookieText;
  },
  //重置cookie
  unsetCookie: function (name, path, domain, secure) {
    this.set(name, "", new Date(0), path, domain, screen);
  }
};

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

Javascript 相关文章推荐
走出JavaScript初学困境—js初学
Dec 29 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
Mar 07 Javascript
select 控制网页内容隐藏于显示的实现代码
May 25 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
Nov 26 Javascript
jQuery中trigger()方法用法实例
Jan 19 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
Mar 03 Javascript
JavaScript实现简单的数字倒计时
May 15 Javascript
从零学习node.js之文件操作(三)
Feb 21 Javascript
详解原生js实现offset方法
Jun 15 Javascript
JQuery EasyUI的一些常用组件
Jul 12 jQuery
vue项目中使用scss的方法步骤
May 16 Javascript
小程序实现悬浮搜索框
Jul 12 Javascript
浅谈js和css内联外联注意事项
Jun 30 #Javascript
js传值后台中文出现乱码的解决方法
Jun 30 #Javascript
jQuery绑定自定义事件的魔法升级版
Jun 30 #Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
Jun 30 #Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
Jun 30 #Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
Jun 30 #Javascript
浅谈JS中json数据的处理
Jun 30 #Javascript
You might like
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
python实现读取命令行参数的方法
2015/05/22 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
应届生煤化工求职信
2013/10/21 职场文书
新闻学专业应届生求职信
2013/11/08 职场文书
公司担保书格式范文
2014/05/12 职场文书
演讲开场白和结束语
2015/05/29 职场文书
观后感开头
2015/06/19 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python