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 相关文章推荐
treepanel动态加载数据实现代码
Dec 15 Javascript
javascript验证身份证完全方法具体实现
Nov 18 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
Apr 02 Javascript
JavaScript实现随机替换图片的方法
Apr 16 Javascript
jquery实现动态改变div宽度和高度
May 08 Javascript
基于jQuery实现选项卡效果
Jan 04 Javascript
树结构之JavaScript
Jan 24 Javascript
JS验证input输入框(字母,数字,符号,中文)
Mar 23 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
JavaScript函数的特性与应用实践深入详解
Dec 30 Javascript
js实现掷骰子小游戏
Oct 24 Javascript
vue实现购物车的小练习
Dec 21 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
PHP设置进度条的方法
2015/07/08 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
Prototype的Class.create函数解析
2011/09/22 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
javasctipt如何显示几分钟前、几天前等
2014/04/30 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python中的字典操作及字典函数
2018/01/03 Python
python学习开发mock接口
2019/04/28 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
介绍一下MD5加密算法
2016/11/12 面试题
施工现场安全管理制度
2015/08/05 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
导游词之南京中山陵
2019/11/27 职场文书