用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 相关文章推荐
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
js中利用tagname和id获取元素的方法
Jan 03 Javascript
JavaScript深度复制(deep clone)的实现方法
Feb 19 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Oct 05 Javascript
Angular.Js之Scope作用域的学习教程
Apr 27 Javascript
AngularJS实现select的ng-options功能示例
Jul 12 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
Jan 30 Javascript
vue进入页面时滚动条始终在底部代码实例
Mar 26 Javascript
详解js常用分割取字符串的方法
May 15 Javascript
vue 移动端注入骨架屏的配置方法
Jun 25 Javascript
javascript中undefined的本质解析
Jul 31 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使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
JavaScript函数详解
2014/11/17 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
python中尾递归用法实例详解
2015/04/28 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python matplotlib画图实例代码分享
2017/12/27 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
简单了解django文件下载方式
2020/02/10 Python
植物选择:Botanic Choice
2017/02/15 全球购物
企业演讲稿范文
2013/12/28 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
经济担保书范文
2014/04/02 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
房产公证书格式
2015/01/26 职场文书
借条格式范本
2015/05/25 职场文书