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; } function leerEstilo() { var cookie = readCookie("style"); var title; if(cookie == null){ title = "verde"; } else { title = cookie ? cookie : getPreferredStyleSheet(); } setActiveStyleSheet(title); } function guardarEstilo() { var title = getActiveStyleSheet(); createCookie("style", title, 365); }En el head de nuestro HTML escribimos las siguientes sentencias para utilizar dicho javascript y nuestros css:
<!-- declaración de estilos css --> <link rel="stylesheet" type="text/css" href="estilos/verde.css" title="verde"> <link rel="alternate stylesheet" type="text/css" href="estilos/azul.css" title="azul"> <link rel="alternate stylesheet" type="text/css" href="estilos/rojo.css" title="rojo"> <link rel="alternate stylesheet" type="text/css" href="estilos/amarillo.css" title="amarillo"> <link rel="alternate stylesheet" type="text/css" href="estilos/gris.css" title="gris"> <link rel="alternate stylesheet" type="text/css" href="estilos/marron.css" title="marron"> <link rel="alternate stylesheet" type="text/css" href="estilos/lila.css" title="lila"> <link rel="alternate stylesheet" type="text/css" href="estilos/naranja.css" title="naranja"> <!-- fin declaración estilos css --> <!-- declaración de ficheros javascript --> <script type="text/javascript" src="javascript/styleswitcher.js"></script> <!-- fin declaración de ficheros javascript -->Con el atributo rel="stylesheet" indicamos cual es el estilo por defecto y con rel="alternate stylesheet" cuales son los estilos alternativos. Hay que añadir un title para identificar el estilo y poder guardarlo en la cookie.
<table class="tabla2" cellspacing=0 cellpadding=0 width=136 border=0> <tbody> <tr> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('verde', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/verde.jpg" width=26px height=26px alt="verde" title="verde"></a> </td> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('rojo', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/rojo.jpg" width=26px height=26px alt="rojo" title="rojo"></a> </td> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('azul', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/azul.jpg" width=26px height=26px alt="azul" title="azul"></a> </td> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('marron', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/marron.jpg" width=26px height=26px alt="marron" title="marron"></a> </td> </tr> <tr> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('lila', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/lila.jpg" width=26px height=26px alt="lila" title="lila"></a> </td> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('naranja', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/naranja.jpg" width=26px height=26px alt="naranja" title="naranja"></a> </td> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('amarillo', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/amarillo.jpg" width=26px height=26px alt="amarillo" title="amarillo"></a> </td> <td valign=top class="color00f" align=middle> <a href="#" onclick="setActiveStyleSheet('gris', 1); return false; actualizar();" style="text-decoration: none"> <img src="imagenes/estilos/gris.jpg" width=26px height=26px alt="gris" title="gris"></a> </td> </tr> </tbody> </table>Al hacer click sobre la imagen se llama a la función javascript setActiveStyleSheet(estilo, 1); que activa dicho estilo y con la función actualizar(); se actualiza la página para mostrarla con el nuevo estilo.
<body onLoad="leerEstilo();" onunload="guardarEstilo();">Estas llamadas en el body hacen que cuando se cargue la página se lea la cookie y se active el estilo que contiene dicha cookie y que al cerrar la página se lea el estilo y se guarde en una cookie.
donde esta la funcion actualizar no la veo por ningun lado ni el javascript, podes ayudarme con eso