用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 页面只自动刷新一次
Jul 10 Javascript
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
js局部刷新页面时间具体实现
Jul 04 Javascript
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
Mar 13 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
Mar 02 Javascript
JavaScript 常见安全漏洞和自动化检测技术
Aug 21 Javascript
jquery form表单获取内容以及绑定数据
Feb 24 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
Sep 05 Javascript
Next.js实现react服务器端渲染的方法示例
Jan 06 Javascript
超简单的微信小程序轮播图
Nov 22 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
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
Promise扫盲贴
2019/06/24 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
基于python操作ES实例详解
2019/11/16 Python
简述 Python 的类和对象
2020/08/21 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
IRO美国官网:法国服装品牌
2018/03/06 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
移交协议书
2014/08/19 职场文书
协会周年庆活动方案
2014/08/26 职场文书
党员十八大心得体会
2014/09/12 职场文书
个人简历求职信范文
2015/03/20 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
商标侵权律师函
2015/05/27 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
python读取mnist数据集方法案例详解
2021/09/04 Python