用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 相关文章推荐
JavaScript XML实现两级级联下拉列表
Nov 10 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
Apr 15 Javascript
node.js中使用socket.io制作命名空间
Dec 15 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 Javascript
JS模拟Dialog弹出浮动框效果代码
Oct 16 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
Angular中ng-options下拉数据默认值的设定方法
Jun 21 Javascript
JavaScript 中的 this 工作原理
Jun 20 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
微信小程序云开发实现云数据库读写权限
May 17 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
PHP通用检测函数集合
2011/02/08 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
php获取文件大小的方法
2014/02/26 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
JS 日期比较大小的简单实例
2014/01/13 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
python分析作业提交情况
2017/11/22 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
大学生最新职业生涯规划书范文
2014/01/12 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
党校学习党性分析材料
2014/12/19 职场文书
人事文员岗位职责
2015/02/04 职场文书
2015年保送生自荐信
2015/03/24 职场文书
公司年夜饭通知
2015/04/25 职场文书
应急管理工作总结2015
2015/05/04 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
小学总务工作总结
2015/08/13 职场文书
创业计划书之养殖业
2019/10/11 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
Java详细解析==和equals的区别
2022/04/07 Java/Android