You are here: irt.org | Articles | Cascading Style Sheets (CSS) | Dynamic StyleSheets [ previous next ]
Published on: Saturday 28th February 1998 By: Michael Bednarek
<HEAD>
<TITLE>Customise page</TITLE>
<SCRIPT LANGUAGE="JavaScript1.2" SRC="library.js"></SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript1.2"><!--
if (document.styleSheets || document.layers) {
document.write('<P>Please browse available styles using the box below, and confirm your choice by pressing the OK button.');
document.write('<FORM>');
document.write('<SELECT NAME="style" onChange="changeSheet(this.selectedIndex)">');
document.write('<OPTION>Style 1<\/OPTION>');
document.write('<OPTION>Style 2<\/OPTION>');
document.write('<OPTION>Style 3<\/OPTION>');
document.write('<\/SELECT>');
document.write('<INPUT TYPE="BUTTON" VALUE="OK" onClick="Set_Cookie(\'stylesheet\',mySheet,expires)">');
document.write('<\/FORM>');
if (document.styleSheets) {
document.write('<H1>Headings will appear like this.<\/H1>');
document.write('<P><A HREF="javascript:alert(\'just testing\')">Links will appear like this.<\/A>');
document.write('<P><CODE>Any quoted code will appear like this.<\/CODE><BR>');
}
else if (document.layers) {
document.write('<LAYER SRC="style1.htm" NAME="style1" VISIBILITY="show"><\/LAYER>');
document.write('<LAYER SRC="style2.htm" NAME="style2" VISIBILITY="hide"><\/LAYER>');
document.write('<ILAYER SRC="style3.htm" NAME="style3" VISIBILITY="hide"><\/ILAYER>');
}
checkStyle();
}
//--></SCRIPT>
<P>Once you've stored a cookie try out the style sheet on the <A HREF="test.htm">next page</A>.
<P><A HREF="index.htm">return</A>
</BODY>
</HTML><HTML> <HEAD> <TITLE>Test page</TITLE> <SCRIPT LANGUAGE="JavaScript1.2" SRC="library.js"></SCRIPT> </HEAD> <BODY> <H1>This is the test page</H1> <P>Return to the <A HREF="custom.htm">custom page</A> or return to the <A HREF="index.htm">article</A> <P><CODE>"Too many cooks spoil the broth"</CODE><BR> </BODY> </HTML>
<HTML>
<HEAD>
<LINK REL=STYLESHEET HREF="style1.css" TYPE="text/css">
</HEAD>
<BODY>
<H1>Headings will appear like this.</H1>
<P><A HREF="javascript:alert('just testing')">Links will appear like this.</A>
<P><CODE>Any quoted code will appear like this.</CODE><BR>
</BODY>
</HTML>A {text-decoration:none;color:blue;font-weight:normal}
H1 {font-family:Arial;font-weight:normal;font-size:16pt}
CODE {font-family:Verdana;font-style:normal;color:black}<HTML>
<HEAD>
<LINK REL=STYLESHEET HREF="style2.css" TYPE="text/css">
</HEAD>
<BODY>
<H1>Headings will appear like this.</H1>
<P><A HREF="javascript:alert('just testing')">Links will appear like this.</A>
<P><CODE>Any quoted code will appear like this.</CODE><BR>
</BODY>
</HTML>A {text-decoration:none;color:red;font-weight:bold}
H1 {font-family:Arial;font-weight:bold;font-size:36pt}
CODE {font-family:Verdana;font-style:italic;color:blue}<HTML>
<HEAD>
<LINK REL=STYLESHEET HREF="style3.css" TYPE="text/css">
</HEAD>
<BODY>
<H1>Headings will appear like this.</H1>
<P><A HREF="javascript:alert('just testing')">Links will appear like this.</A>
<P><CODE>Any quoted code will appear like this.</CODE><BR>
</BODY>
</HTML>A {text-decoration:none;color:green;font-weight:bold;font-size:14pt}
H1 {font-family:Sans Serif;font-size:48pt;text-decoration:underline}
CODE {font-family:Verdana;font-style:italic;color:white;background:blue}function Get_Cookie(name) {
var start = document.cookie.indexOf(name+"=");
var len = start+name.length+1;
if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
if (start == -1) return null;
var end = document.cookie.indexOf(";",len);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(len,end));
}
function Set_Cookie(name,value,expires,path,domain,secure) {
document.cookie = name + "=" +escape(value) +
( (expires) ? ";expires=" + expires.toGMTString() : "") +
( (path) ? ";path=" + path : "") +
( (domain) ? ";domain=" + domain : "") +
( (secure) ? ";secure" : "");
}
var expires = new Date();
expires.setTime(expires.getTime() + (365 * 24 * 60 * 60 * 1000 * 365));
mySheet = Get_Cookie('stylesheet');
if (mySheet != null)
document.write('<LINK REL="stylesheet" HREF="' + mySheet + '.css">');
else
document.write('<LINK REL="stylesheet" HREF="style1.css">');
function checkStyle() {
if (mySheet != null) {
if (document.styleSheets)
document.styleSheets[0].href = mySheet + '.css';
else if (document.layers) {
document.layers['style1'].visibility = 'hide';
document.layers['style2'].visibility = 'hide';
document.layers['style3'].visibility = 'hide';
document.layers[mySheet].visibility = 'show';
}
}
}
function changeSheet(choice) {
if (choice == 0) mySheet = 'style1';
if (choice == 1) mySheet = 'style2';
if (choice == 2) mySheet = 'style3';
if (document.styleSheets)
document.styleSheets[0].href = mySheet + '.css';
else if (document.layers) {
document.layers['style1'].visibility = 'hide';
document.layers['style2'].visibility = 'hide';
document.layers['style3'].visibility = 'hide';
document.layers[mySheet].visibility = 'show';
}
}