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


无刷新cookies切换样式示例代码实例主要用到的代码
复制代码 代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>styleswitcherphpStudy-www.phpstudy.net </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; }

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3