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 getElementsByClassName函数
Apr 01 Javascript
Android中资源文件(非代码部分)的使用概览
Dec 18 Javascript
『jQuery』取指定url格式及分割函数应用
Apr 22 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
Oct 11 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
Oct 24 Javascript
javascript上传图片前预览图片兼容大多数浏览器
Oct 25 Javascript
jQuery Real Person验证码插件防止表单自动提交
Nov 06 Javascript
Javascript中常见的逻辑题和解决方法
Sep 17 Javascript
ionic中列表项增加和删除的实现方法
Jan 22 Javascript
js装饰设计模式学习心得
Feb 17 Javascript
three.js搭建室内场景教程
Dec 30 Javascript
一个因@click.stop引发的bug的解决
Jan 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
BBS(php &amp; mysql)完整版(三)
2006/10/09 PHP
php类
2006/11/27 PHP
php导入导出excel实例
2013/10/25 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
基于vue实现分页效果
2017/11/06 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
简单了解django缓存方式及配置
2019/07/19 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
市场开发与营销专业求职信
2013/12/31 职场文书
花店创业计划书范文
2014/02/07 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
高质量“欢迎词”
2019/04/03 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL