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 相关文章推荐
use jscript List Installed Software
Jun 11 Javascript
jQuery中绑定事件的命名空间详解
Apr 05 Javascript
javascript中关于执行环境的杂谈
Aug 14 Javascript
jQuery实现可拖动的浮动层完整代码
May 27 Javascript
js 触发select onchange事件代码
Mar 20 Javascript
详解AngularJS的通信机制
Jun 18 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
Apr 10 Javascript
详谈表单重复提交的三种情况及解决方法
Aug 16 Javascript
浅谈使用React.setState需要注意的三点
Dec 18 Javascript
Vue表单类的父子组件数据传递示例
May 03 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 Javascript
JS实现购物车基本功能
Nov 08 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内核探索:变量存储与类型使用说明
2014/01/30 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
给js文件传参数(详解)
2014/07/13 Javascript
node.js中的console用法总结
2014/12/15 Javascript
js的回调函数详解
2015/01/05 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
详解JavaScript函数
2015/12/01 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
Python查找相似单词的方法
2015/03/05 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
上班打牌检讨书
2014/02/07 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
旷工检讨书1000字
2015/01/01 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
担保书范文
2019/07/09 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers