用cookies实现的可记忆的样式切换效果代码下载


Posted in Javascript onDecember 24, 2007

无刷新cookies切换样式示例代码实例主要用到的代码

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>styleswitcher三水点靠木-3water.com </title> 
<link title=red rel="stylesheet" type="text/css" href="red.css"> 
<LINK title=blue href="blue.css" type=text/css rel="alternate stylesheet"> 
<SCRIPT src="styleswitcher.js" type=text/javascript></SCRIPT> 
<style> 
<!-- 
#wrapper     { font-size: 10px;width:100px; } 
#left     { width:20px; height:100px; } 
#right     { width:80px;float:right;background-color:#000000;;height:100px;color:#FFFFFF } 
--> 
</style> 
</head> <body> 
<A onclick="setActiveStyleSheet('red');return false;" href="#">red</A> 
<A onclick="setActiveStyleSheet('blue');return false;" href="#">blue</A> 
<select name="changestyle" size="1"> 
<option value="red">red</option> 
<option value="blue">blue</option> 
</select><input type="button" value="变" onclick="setActiveStyleSheet(changestyle.value);return false;"> 
<div id="wrapper"> 
    <div id="left">left</div> 
    <div id="right">right</div> 
</div> 
</body> 
</html>

styleswitcher.js 
// styleswitcher.js function setActiveStyleSheet(title) 
{ 
    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") == title)  
                a.disabled = false; 
        } 
    } 
} 
function getActiveStyleSheet() 
{ 
    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; 
} 
function getPreferredStyleSheet() 
{ 
    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; 
} 
function createCookie(name, value, days) 
{ 
    if (days) 
    { 
        var date = new Date(); 
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
        var expires = "; expires=" + date.toGMTString(); 
    } 
    else expires = ""; 
    document.cookie = name + "=" + value + expires + "; path=/"; 
} 
function readCookie(name) 
{ 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for (var i = 0; i < ca.length; i++) 
    { 
        var c = ca[i]; 
        while (c.charAt(0) == ' ') 
            c = c.substring(1, c.length); 
        if (c.indexOf(nameEQ) == 0) 
            return c.substring(nameEQ.length, c.length); 
    } 
    return null; 
} 
window.onload = function(e) 
{ 
    var cookie = readCookie("style"); 
    var title = cookie ? cookie : getPreferredStyleSheet(); 
    setActiveStyleSheet(title); 
} 
window.onunload = function(e) 
{ 
    var title = getActiveStyleSheet(); 
    createCookie("style", title, 365); 
} 
var cookie = readCookie("style"); 
var title = cookie ? cookie : getPreferredStyleSheet(); 
setActiveStyleSheet(title);

red.css
#left     { background-color:#0000FF; float:right;}

red.css
#left     { background-color:#FF0000;float:left; }
Javascript 相关文章推荐
jQuery的运行机制和设计理念分析
Apr 05 Javascript
javascript中的绑定与解绑函数应用示例
Jun 24 Javascript
jQuery实现的倒计时效果实例小结
Apr 16 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 Javascript
微信小程序模板之分页滑动栏
Feb 10 Javascript
bootstrap基本配置_动力节点Java学院整理
Jul 14 Javascript
Vue SSR 组件加载问题
May 02 Javascript
vue导出html、word和pdf的实现代码
Jul 31 Javascript
微信小程序tabbar底部导航
Nov 05 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
Nov 14 Javascript
vue cli使用融云实现聊天功能的实例代码
Apr 19 Javascript
2007/12/23更新创意无限,简单实用(javascript log)
Dec 24 #Javascript
两个DIV等高的JS的实现代码
Dec 23 #Javascript
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 #Javascript
表单项的name命名为submit、reset引起的问题
Dec 22 #Javascript
mapper--图片热点区域高亮组件官方站点
Dec 22 #Javascript
使Ext的Template可以解析二层的json数据的方法
Dec 22 #Javascript
IE与Firefox下javascript getyear年份的兼容性写法
Dec 20 #Javascript
You might like
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
2014年保卫工作总结
2014/12/05 职场文书
刘公岛导游词
2015/02/05 职场文书
清洁工岗位职责
2015/02/13 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
Python实现单例模式的5种方法
2021/06/15 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL