Cambio dinamico de pantalla

Hola,
Quiero que de acuerdo a la fotografía que se cargue el la pantalla index, se cambie el color del texto.
He realizado esto con dos botones y va perfecto:
<a href="#" onclick="setActiveStyleSheet('uno'); return false;">uno</a>
<a href="#" onclick="setActiveStyleSheet('dos'); return false;">dos</a>
Pero quisiera que lo hiciera automatico, de acuerdo a la foto, he hecho esto pero no va:
if (num == 1){
setActiveStyleSheet('uno')}
else if (num == 2){
setActiveStyleSheet('dos')}
num es el numero de la fotografia.
¿me podrías ayudar?
Muchas gracias y feliz año.

1 Respuesta

Respuesta
1
¿Dónde seteas la variable num?
function VecImagen1()
{
h=0;
this[h++]="images/1.jpg";
this[h++]="images/2.jpg";
this.H=h;
}
var Imagen1=new VecImagen1();
src1= Imagen1[ Math.floor(Math.random() * Imagen1.H) ] ;
var cadena=src1;
var num = cadena.charAt(7);
Asi cojo el numero de la foto que se carga en la pagina.
En cada foto predomina un color y lo que quiero es cambiar el color de las letras de acuerdo a la foto que se cargue.
Con esto se ejecuta bien:
<script type="text/javascript" src="styleswitcher.js">
<a href="#" onclick="setActiveStyleSheet('uno'); return false;">uno</a>
<a href="#" onclick="setActiveStyleSheet('dos'); return false;">dos</a>
Pero me gustaría que se ejecutara de forma automática de acuerdo a la foto que se cargue.
Muchas gracias
El codigo parece correcto. Lo tienes alojado en algun sitio, ¿así puedo yo verlo?
Esta es la pagina:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>Fotografías digitales de José Luis García Campoy</TITLE>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" type="text/css" href="uno.css" title="uno" />
<link rel="alternate stylesheet" type="text/css" href="dos.css"  title="dos" />
<script type="text/javascript" src="styleswitcher.js"></script>
<script language="javascript">
function VecImagen1()
{
h=0;
this[h++]="images/1.jpg";
this[h++]="images/2.jpg";
this.H=h;
}
var Imagen1=new VecImagen1();
src1= Imagen1[ Math.floor(Math.random() * Imagen1.H) ] ;
var cadena=src1;
var num = cadena.charAt(7);
if (num == 1){
setActiveStyleSheet('uno')}
if (num == 2){
setActiveStyleSheet('dos')}
</script>
</head>
<body>
<div id="header">
<script language="javascript">
  document.write("<img SRC="+src1+">")
 </script>
</div>
<div id="content">
<div id="colOne">
<div id="menu">
<ul>
<li><a href="#" accesskey="1" title="">Inicio</a></li>
<li><a href="#" accesskey="2" title="">Portfolio</a></li>
<li><a href="#" accesskey="3" title="">Galerías</a></li>
<li><a href="#" accesskey="4" title="">Autor</a></li>
<li><a href="#" accesskey="5" title="">Blog</a></li>
</ul>
  </div>
 </div>
<div id="colTwo">
<div class="post">
<p align="justify" class="Estilo1">Hola amigo,<br />He creado esta Web con el ánimo de poder compartir la colección de fotografías sobre naturaleza que he realizado y que espero seguir ampliando. Si con ellas soy capaz de concienciar a cualquier visitante y hacerle pensar en el respeto que se debería tener por nuestro medio ambiente, me sentiría doblemente satisfecho.<br />Gracias por tu visita y bienvenido.</p>
  </div>
  </div>
</div>
<div id="footer">
<p align="justify">© 2005-2006 Todas las fotografías son propiedad del autor y sus derechos están reservados, así mismo estas fotografías no pueden ser reproducidas, publicadas, copiadas ni transmitidas de ninguna de las formas, incluidas las electrónicas sin permiso por escrito del autor.</p>
</div>
</body>
</html>
Este uno.css
body {
 margin: 0;
 padding: 0;
 background: #000000;
 font-family: Tahoma, Arial, Helvetica, sans-serif;
 font-size: 11px;
 color: #ad9924;
}
p, ol, ul, blockquote {
 line-height: 18px;
}
a {
 border-bottom: 1px dotted #707070;
 text-decoration: none;
 color: #ad9924;
}
.Estilo1 {color: #ad9924}
/* Posts */
.post {
 margin-bottom: 9px;
 padding: 20px 40px 20px 60px;
 background: #131313;
 border-top: 1px solid #1F1F1F;
 border-right: 1px solid #1F1F1F;
 border-bottom: 1px solid #1F1F1F;
 border-left: 1px solid #1F1F1F;
}
/* Header */
#header {
 width: 1000px;
 height: 300px;
 margin: 0 auto;
}
/* Content */
#content {
 width: 580px;
 margin: 0 auto;
 padding: 10px;
 color:#ad9924
}
#colOne {
 float: left;
 width: 180px;
}
#colOne ul {
 margin-left: 0;
 padding-left: 0;
 list-style: none;
}
#colTwo {
 float: right;
 width: 390px;
}
/* Footer */
#footer {
 clear: both;
 width: 580px;
 margin: 0 auto;
 padding-top: 20px;
 color: #333333;
}
#footer p {
 margin: 0;
 text-align: center;
 font-size: 9px;
}
este es dos.css
body {
 margin: 0;
 padding: 0;
 background: #000000;
 font-family: Tahoma, Arial, Helvetica, sans-serif;
 font-size: 11px;
 color: #1e6599;
}
p, ol, ul, blockquote {
 line-height: 18px;
}
a {
 border-bottom: 1px dotted #707070;
 text-decoration: none;
 color: #1e6599;
}
.Estilo1 {color: #1e6599}
/* Posts */
.post {
 margin-bottom: 9px;
 padding: 20px 40px 20px 60px;
 background: #131313;
 border-top: 1px solid #1F1F1F;
 border-right: 1px solid #1F1F1F;
 border-bottom: 1px solid #1F1F1F;
 border-left: 1px solid #1F1F1F;
}
/* Header */
#header {
 width: 1000px;
 height: 300px;
 margin: 0 auto;
}
/* Content */
#content {
 width: 580px;
 margin: 0 auto;
 padding: 10px;
 color:#ad9924
}
#colOne {
 float: left;
 width: 180px;
}
#colOne ul {
 margin-left: 0;
 padding-left: 0;
 list-style: none;
}
#colTwo {
 float: right;
 width: 390px;
}
/* Footer */
#footer {
 clear: both;
 width: 580px;
 margin: 0 auto;
 padding-top: 20px;
 color: #333333;
}
#footer p {
 margin: 0;
 text-align: center;
 font-size: 9px;
}
y este es styleswitcher.js
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")); 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++) {
    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++) {
    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;
    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);
Las fotos no te las he enviado.
Cada vez que refrescas la pantalla unas veces cambia la foto y otras no, es normal puesto que el cambio es aleatorio, pero cuando cambia la foto lo que quiero es que cambie el color de la letra y no lo hace.
Gracias
Intenta sacar esto del archivo js:
window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas