Identificarte

Versión Completa : Problema de javascript basico


Sponsored links
.




capagris
marzo 10, 2004, 10:44
Quiero hacer un javascript simplemente que muestre una imagen tras otra (un total de 5). Ya he hecho el programilla pero por alguna razon para en la la 2º foto y da error al intentar mostrar la 3º.
He probao a cambiar las fotos de orden y da el mismo problema

Aqui va:

<SCRIPT LANGUAGE='JavaScript'>

var imagen1 = "<img src='1.jpg'>";
var imagen2 = "<img src='3.jpg'>";
var imagen3 = "<img src='2.jpg'>";
var imagen4 = "<img src='4.jpg'>";
var imagen5 = "<img src='5.jpg'>";
var tiempo = 4000;
var mensaje = 0;
cambiarimagen();
function cambiarimagen()
{
if (mensaje == 0)
{
document.write(imagen1);

}
if (mensaje == 1)
{
document.write(imagen2);

}
if (mensaje == 2)
{
document.write(imagen3);

}
if (mensaje == 3)
{
document.write(imagen4);

}
if (mensaje == 4)
{
document.write(imagen5);
}
mensaje++;
if(mensaje<5)
setTimeout("cambiarimagen()",tiempo);
}
</SCRIPT>

Gracias por adelantado

swoko
marzo 10, 2004, 11:15
no se... pero en las etiquetas img src deberías usar ocmillas dobles

Grissom.
marzo 10, 2004, 12:07
Mmmm es que esa vaina esta mal echa, en lugar de hacer ese write haga una asignacion, ademas tenga las imagenes en un array:

<SCRIPT LANGUAGE='JavaScript'>

imagen[0] = "1.jpg";
imagen[1] = "3.jpg";
imagen[2] = "2.jpg'>";
imagen[3] = "4.jpg";
imagen[4] = "5.jpg";
var tiempo = 4000;
var mensaje = 0;
cambiarimagen();
function cambiarimagen()
{
myimagen.src = imagen[mensaje];
}
mensaje++;
if(mensaje<5)
setTimeout("cambiarimagen()",tiempo);
}
</SCRIPT>

...

<body>

...

<img name="myimagen" src="1.jpg" />



esa es la idea

capagris
marzo 10, 2004, 02:43
La idea es buena pero si pones en el cuerpo src="1.jpg" ya estas concretando la foto y luego no cambia. ¿Has probado tu solucion?

He probado a cambiar name por value pero tampoco cambia la foto.

Aqui hay algo que no concuerda bien, mira a ver Rulas si averiguas que es te lo agradeceria

myimagen.src = imagen[mensaje];
<img name="myimagen" src="1.jpg" />

Grissom.
marzo 11, 2004, 10:17
imagen es un array de strings y si cambia eso funciona de verdad .... si quiere pruebe con constantes haga esto:

myimagen.src = "imagen.jpg";

donde imagen.jpg se asegura que este y vera que le funciona, de ese principio le hice la recomendacion.

Grissom.
marzo 11, 2004, 11:56
Bah!! no me resisti la curiosidad y hice un ejemplo para recordar viejos tiempos. El codigo que hace lo que usted quiere aqui lo tiene.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>IMG tag texting</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<img name="myimage" alt="Image not found" src="http://imagenes.laneros.com/images/buttons/home.gif">
<a href="javascript:nextImage();" >Click for next</a>
</body>
<script language="javascript">

var images = new Array(3);
images[0] = "http://imagenes.laneros.com/images/buttons/home.gif";
images[1] = "http://imagenes.laneros.com/images/buttons/options.gif";
images[2] = "http://imagenes.laneros.com/images/buttons/usercp.gif";
var imageIndex = 1;

function nextImage () {
myimage.src = images[imageIndex];
imageIndex++;
if (imageIndex >= images.length) {
imageIndex = 0;
}
}
</script>
</html>