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 相关文章推荐
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
jquery里的正则表达式说明
Aug 03 Javascript
IE中getElementsByName()对有些元素无效的解决方案
Sep 28 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
Aug 09 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
Sep 12 Javascript
Node.js开发者必须了解的4个JS要点
Feb 21 Javascript
使用JQuery实现智能表单验证功能
Mar 08 Javascript
bootstrap模态框远程示例代码分享
May 22 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
Dec 30 Javascript
layui表格数据重载
Jul 27 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
是否存在第一台收音机的说法
2021/03/01 无线电
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
2019/02/21 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
原生javascript如何实现共享onload事件
2020/07/03 Javascript
Python计算已经过去多少个周末的方法
2015/07/25 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
python斐波那契数列的计算方法
2018/09/27 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
简单了解python代码优化小技巧
2019/07/08 Python
世界上最全面的汽车零部件和配件集合:JC Whitney
2016/09/04 全球购物
生日主持词
2014/03/20 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang