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 相关文章推荐
javascript+dom树型菜单类,希望朋友们一起进步
May 03 Javascript
“不能执行已释放的Script代码”错误的原因及解决办法
Sep 09 Javascript
javascript的trim,ltrim,rtrim自定义函数
Sep 21 Javascript
js 覆盖和重载 函数
Sep 25 Javascript
比较新旧两个数组值得增加和删除的JS代码
Oct 30 Javascript
angularjs学习笔记之完整的项目结构
Sep 26 Javascript
Vue表单验证插件的制作过程
Apr 01 Javascript
vue :src 文件路径错误问题的解决方法
May 15 Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
浅谈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 COOKIE设置为浏览器进程
2009/06/21 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
2013/01/23 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
浅析Python中的多条件排序实现
2016/06/07 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
澳大利亚足球鞋和服装购物网站:Ultra Football
2018/10/11 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
护士毕业生自荐信
2014/02/07 职场文书
社会实践的活动方案
2014/08/22 职场文书
应聘教师求职信范文
2015/03/20 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书