兼容IE8及以上的换肤控件
来源:互联网 发布:ios 大众点评 源码 编辑:程序博客网 时间:2024/06/05 02:55
写了一个兼容到IE8的简单换肤控件(只支持换颜色~),实现换肤功能
代码实现
changeSkin.js
/* * 基于jquery的换肤功能 * 在有业务需要进行换肤的情况下使用 * * @param option 参数 * */function ChangeSkin(option) { var _default = { tarDom: null, setDom : null, bgColor: null, fontColor: null, }; var othis = this; //深度遍历缓存当前颜色 othis.settings = $.extend(true, _default, option); othis.tarDom = $(this.settings.tarDom); othis.setDom = $(this.settings.setDom); othis.init = function() { var str = '<ul class="color-controller">'; $.each(othis.settings.bgColor, function(i, val) { str += '<li>' + '<div style="width:20px;height:20px;background-color:' + val + ';color:' + othis.settings.fontColor + '">' + '</div>' + '</li>'; }); str += '</ul>' othis.tarDom.html(str); othis.isHasLocal(); othis.Onclick(); }}ChangeSkin.prototype = { isHasLocal :function(){ var othis = this; var xxx = this.judgeBrown; if(xxx){ if(othis.getBylocalStorage()){ othis.setDom.css({'background-color':othis.getBylocalStorage()}); } else { } } else { if(othis.getByCookie()){ othis.setDom.css({'background-color':othis.getByCookie()}); } } }, Onclick: function() { var othis = this; var xxx = this.judgeBrown; this.tarDom.on('click', 'li', function() { var that = $(this); var bgColor = that.find('div').css('background-color'); console.log(bgColor) if(xxx) { //现代 othis.saveBylocalStorage(bgColor); othis.setDom.css({'background-color':othis.getBylocalStorage()}); } else { //老版 othis.saveByCookie(bgColor); othis.setDom.css({'background-color':othis.getByCookie()}); } }) }, judgeBrown: function() { var browser = navigator.appName; var b_version = navigator.appVersion; var version = b_version.split(";"); var trim_Version = version[1].replace(/[ ]/g, ""); if(browser == "Microsoft Internet Explorer" && trim_Version == "MSIE6.0") { alert("IE 6.0"); /*$('.color-controller').on('click','li',function(){ });*/ return false; } else if(browser == "Microsoft Internet Explorer" && trim_Version == "MSIE7.0") { alert("IE 7.0"); return false; } else if(browser == "Microsoft Internet Explorer" && trim_Version == "MSIE8.0") { alert("IE 8.0"); return false; } else if(browser == "Microsoft Internet Explorer" && trim_Version == "MSIE9.0") { alert("IE 9.0"); return false; } else { /*现代浏览器*/ alert("现代浏览器"); return true; } }, saveBylocalStorage: function(color) { /*现代浏览器本地缓存方式*/ localStorage.setItem('zy_bgColor_12138', color); }, getBylocalStorage: function() { var value = localStorage.getItem('zy_bgColor_12138'); return value; }, delBylocalStorage: function() { localStorage.removeItem('zy_bgColor_12138'); }, saveByCookie: function(color) { /*老版浏览器本地缓存方式*/ var date = new Date(); date.setDate(date.getDate() + ltime); //失效时间 return document.cookie = 'zy_bgColor_12138' + '=' + color + ';Expires=' + date.toGMTString(); }, getByCookie: function() { var arr, reg = new RegExp("(^| )" + "zy_bgColor_12138" + "=([^;]*)(;|$)"); if(arr = document.cookie.match(reg)) { return arr[2]; } else { return null; } }, delByCookie: function() { othis.saveByCookie('zy_bgColor_12138', 1, -10); }};
html页面以及引用
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/jquery-1.11.0.js"></script> <script type="text/javascript" src="js/changeSkin.js"></script> </head> <body id="body"> <div id="cccc"></div> </body> <script type="text/javascript"> window.onload = function() { var x = new ChangeSkin({ tarDom: '#cccc', setDom: 'body', bgColor: ['#ff0000', '#cccccc', '#000000'], fontColor: '#ffffff' }); x.init(); } </script></html>
页面效果
第一次打开浏览器
选择颜色
关闭浏览器再次打开
完成记录功能,代码之后附上。
1 0
- 兼容IE8及以上的换肤控件
- IE8及以上兼容总结
- 兼容ie8以上的一些问题总结
- 前端技术学习(二)js判断文件大小(兼容IE8及以上)
- 兼容ie8的透明度
- 解决Bootstrap不兼容IE8及以下版本的问题
- 关于页面兼容IE8所遇到的问题及解决
- IE8及以下版本,兼容rgba颜色的半透明背景
- actionBar兼容2.1及以上版本的做法
- 自定义滚动条(原生,兼容ie8以上)
- 网站兼容IE8的方法
- IE8兼容IE7的方法
- ie8兼容ie7的样式
- IE8兼容IE7的样式
- IE8 兼容模式的设置
- bootstrap3兼容IE8的方法
- 兼容IE8/Chrome的autocomplete
- 兼容ie8 的 rgba()用法
- LeetCode 217. Contains Duplicate(C++版)
- flex集成出现Error loading: \Java\jdk1.6.0_35\jre\bin\server\jvm.dll
- 给GFF3格式文件添加fasta格式
- 1014 : Trie树
- jxl 操作excle 修改 添加 追加批注 java
- 兼容IE8及以上的换肤控件
- Python入门(二)中文编码与基础语法
- void*与void;strlen与sizeof;memset
- 个人UI库,已经封装好,附带demo(持续更新中)
- POJ3186
- java-使用 freemarker 替换 jstl EL 开发 springmvc web项目
- Others2_谈谈个人常用的软件
- Android Dalvik 虚拟机(一)
- iOS 抓取 HTML ,CSS XPath 解析数据