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 相关文章推荐
jquery 简单导航实现代码
Sep 11 Javascript
asp.net HttpHandler实现图片防盗链
Nov 09 Javascript
解决js中window.open弹出的是上次的缓存页面问题
Dec 29 Javascript
jquery默认校验规则整理
Mar 24 Javascript
javascript 小数取整简单实现方式
May 30 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
TypeScript 学习笔记之基本类型
Jun 19 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
Nov 23 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
Dec 11 Javascript
AngularJS实现动态切换样式的方法分析
Jun 26 Javascript
bootstrap 路径导航 分页 进度条的实例代码
Aug 06 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执行速度全攻略(上)
2006/10/09 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php学习笔记之基础知识
2014/11/08 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
javascript arguments使用示例
2014/12/16 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
Vue表单实例代码
2016/09/05 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
Python中的exec、eval使用实例
2014/09/23 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python抓取网页内容并进行语音播报的方法
2018/12/24 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
python音频处理的示例详解
2020/12/23 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
建筑自我鉴定
2013/10/19 职场文书
微型企业创业投资计划书
2014/01/10 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
龙猫观后感
2015/06/09 职场文书
茶花女读书笔记
2015/06/29 职场文书
优秀员工演讲稿
2019/06/21 职场文书
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android