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 15 Javascript
iframe子页面与父页面在同域或不同域下的js通信
May 07 Javascript
Vue组件BootPage实现简单的分页功能
Sep 12 Javascript
详解Angular的双向数据绑定(MV-VM)
Dec 26 Javascript
jquery append与appendTo方法比较
May 24 jQuery
详解利用jsx写vue组件的方法示例
Jul 17 Javascript
webpack vue项目开发环境局域网访问方法
Mar 20 Javascript
angularJs利用$scope处理升降序的方法
Oct 08 Javascript
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
Dec 20 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
Sep 12 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
Aug 03 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
星际RPG字典
2020/03/04 星际争霸
mysql建立外键
2006/11/25 PHP
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
Convert Seconds To Hours
2007/06/16 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python实现读取命令行参数的方法
2015/05/22 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
django foreignkey(外键)的实现
2019/07/29 Python
pytorch 预训练层的使用方法
2019/08/20 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
80后职场人的职业生涯规划
2014/03/08 职场文书
管理建议书范文
2014/05/13 职场文书
给校长的建议书400字
2014/05/15 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
步步惊心观后感
2015/06/12 职场文书