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 相关文章推荐
动态加载iframe
Jun 16 Javascript
js实现拖拽 闭包函数详细介绍
Nov 25 Javascript
js Calender控件使用详解
Jan 05 Javascript
jQuery实现的左右移动焦点图效果
Jan 14 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
vue-cli监听组件加载完成的方法
Sep 07 Javascript
js中的reduce()函数讲解
Jan 18 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
Mar 29 Javascript
超轻量级的js时间库miment使用解析
Aug 02 Javascript
微信小程序使用车牌号输入法的示例代码
Aug 20 Javascript
微信小程序之 catalog 切换实现解析
Sep 12 Javascript
解决vue-router的beforeRouteUpdate不能触发
Apr 14 Vue.js
浅谈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
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
PHP新手上路(十三)
2006/10/09 PHP
php实现文件下载实例分享
2014/06/02 PHP
php生成xml时添加CDATA标签的方法
2014/10/17 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
python中实现php的var_dump函数功能
2015/01/21 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
Python实现微信机器人的方法
2019/09/06 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
EJB与JAVA BEAN的区别
2016/08/29 面试题
成人大专生实习期的自我评价
2013/10/02 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
大学生感恩父母演讲稿
2014/08/28 职场文书