当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用cookies实现的可记忆的样式切换效果代码下载

Javascript
用js实现终止浏览器对页面HTML的继续解析即停止解析 兼容firefox
Auntion-TableSort国人写的一个javascript表格排序的东西
javascript实现二分查找法实现代码
利用ASP发送和接收XML数据的处理方法与代码
兼容ie和firefox的鼠标经过(onmouseover和onmouseout)实现--简短版
javascript之文本框输入四个数字自动加空格的脚本
比较简单实用的使用正则三种版本的js去空格处理方法
比较简洁的JavaScript 实时显示时间的脚本 修正版
JavaScript检查表单是否为空的函数
window.open被浏览器拦截后的自定义提示效果代码
javascript跟随鼠标的文字带滚动效果
让插入到 innerHTML 中的 script 跑起来的代码
Flash+XML滚动新闻代码 无图片 附源码下载
javascript(js) join函数使用方法介绍
表格头固定而列可滚动的效果
document.designMode的功能与使用方法介绍
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
用javascript实现的电信铁通(网通)自动跳转源代码
用js查找法实现当前栏目的高亮显示的代码
javascript之鼠标拖动位置互换效果代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 374 ::
收藏到网摘: n/a

比较不错的用cookies实现的可记忆的样式切换效果,这个思路也在一定程序,方便客户的长期使用。 无刷新cookies切换样式示例代码实例主要用到的代码
复制代码 代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>styleswitcher软晨学习网-www.ruanchen.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; }