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 相关文章推荐
让IE8浏览器支持function.bind()方法
Oct 16 Javascript
js简单抽奖代码
Jan 16 Javascript
JQuery中层次选择器用法实例详解
May 18 Javascript
Uploadify上传文件方法
Mar 16 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
JavaScipt选取文档元素的方法(推荐)
Aug 05 Javascript
JavaScript表单即时验证 验证不成功不能提交
Aug 31 Javascript
利用ES6实现单例模式及其应用详解
Dec 09 Javascript
Angular6封装http请求的步骤详解
Aug 13 Javascript
原生js检测页面加载完毕的实例
Sep 11 Javascript
vue-router 手势滑动触发返回功能
Sep 30 Javascript
vue-cli3 karma单元测试的实现
Jan 18 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/09/04 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
如何使用Javascript获取距今n天前的日期
2013/07/08 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
python中实现字符串翻转的方法
2018/07/11 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Python实现图片添加文字
2019/11/26 Python
Python实现井字棋小游戏
2020/03/09 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
中科方德软件测试面试题
2016/04/21 面试题
上海世博会志愿者口号
2014/06/17 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
python 实现的截屏工具
2021/05/08 Python
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
mysql分表之后如何平滑上线详解
2021/11/01 MySQL