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 相关文章推荐
js常用代码段整理
Nov 30 Javascript
基于jquery tab切换(防止页面刷新)
May 23 Javascript
jquery进行数组遍历如何跳出当前的each循环
Jun 05 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
vue.js获得当前元素的文字信息方法
Mar 09 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
VUE 实现滚动监听 导航栏置顶的方法
Sep 11 Javascript
element ui table 增加筛选的方法示例
Nov 02 Javascript
利用Angular2的Observables实现交互控制的方法
Dec 27 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
在VUE style中使用data中的变量的方法
Jun 19 Javascript
解决vue-router 嵌套路由没反应的问题
Sep 22 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版(2)
2006/10/09 PHP
php xml文件操作实现代码(二)
2009/03/20 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
javascript的push使用指南
2014/12/05 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
实例说明Python中比较运算符的使用
2015/05/13 Python
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
基于Python实现天天酷跑功能
2021/01/06 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
社区法制宣传日活动总结
2015/05/05 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
小学数学教师研修日志
2015/11/13 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
Pandas 稀疏数据结构的实现
2021/07/25 Python
python 使用pandas读取csv文件的方法
2022/12/24 Python