JavaScript - Un principiante en apuros

 
Vista:
sin imagen de perfil

Un principiante en apuros

Publicado por Juanjo (2 intervenciones) el 25/12/2013 13:15:25
Hola , me presento, soy un intento de programador y he iniciado un curso de Javascript que he encontrado en la web y en una de las primeras lecciones me he atascado con algo que supongo que sera una tonteria pero que no consigo solucionarlo.
Estoy intentando que me funcione un Slidshow y no lo consigo. En concreto cuando pulso los enlaces "Previo" o Siguiente" me envia a las direcciones que tienen en el archivo Html, pero es que las funciones en javascript que controlan esos enlaces, segun el tutorial, al poner al final un "return false" deberia cambiar la foto y no lo hace.
Pongo a continuacion el codigo por si alguien me puede ayudar. Gracias anticipadas.

index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE HTML>
<html>
<head>
		<title>SlideShow de Imagenes</title>
        <script type="text/javascript" src="js/script.js"></script>
        <link  rel="stylesheet" rev="stylesheet" href="css/styles.css"/>
</head>
 
<body>
        <div align="center">
            <h1>Viaje a Disney</h1>
            <img src="imagenes/disney1.gif" id="img" width="400" height="350" alt="Slideshow"/>
            <h2>
                <a href="previa.html" id="prevLink">&laquo;Previa</a>&nbsp;&nbsp;
                <a href="sigte.html" id="sgteLink">Siguiente &raquo;</a>
            </h2>
        </div>
 
 
</body>
</html>

script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
window.onload = iniciar;
 
var mImagen 0 new Array("imagenes/disney1.gif", "imagenes/disney2.gif", "imagenes/disney3.gif", "imagenes/disney4.gif");
var imgActual = 0;
 
function iniciar()
{
    imgAleatoria = Math.floor((Math.random() * mImagen.length);
    document.getElementById("img").src = mImagen[imgAleatoria];
    document.getElementByName("prevLink").onclick = irPrevio;
    document.getElementById("sgteLink").onclick = irSigte;
 
}
 
function irPrevio()
{
    if (imgActual == 0)
    {
        imgActual = mImagen.length;
 
    }
    imgActual--;
    document.getElementById("img").src = mImagen[imgActual];
    return false;
}
 
function irSigte()
{
    imgActual++;
    if (imgActual == mImagen.length)
    {
        imgActual = 0;
 
    }
    document.getElementById("img").src = mImagen[imgActual];
   return false;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Un principiante en apuros

Publicado por xve (2100 intervenciones) el 25/12/2013 18:56:19
Hola Juanjo, he revisado tu código, y me han salido tres errores, por lo cual no te funciona correctamente...

1.- Error de pulsación...
1
var mImagen 0 new Array("imagenes/disney1.gif", "imagenes/disney2.gif", "imagenes/disney3.gif", "imagenes/disney4.gif");
Tiene que ser así:
1
var mImagen = new Array("imagenes/disney1.gif", "imagenes/disney2.gif", "imagenes/disney3.gif", "imagenes/disney4.gif");

2.- Te falta cerrar un parentesis en esta linea:
1
imgAleatoria = Math.floor((Math.random() * mImagen.length);
Tiene que ser así:
1
imgAleatoria = Math.floor((Math.random() * mImagen.length));

3.- Tienes que crear el onclick del anterior por su id:
1
document.getElementByName("prevLink").onclick = irPrevio;
Tiene que ser así:
1
document.getElementById("prevLink").onclick = irPrevio;

Espero que te sirva... .si tienes cualquier duda...

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Un principiante en apuros

Publicado por Juanjo (2 intervenciones) el 25/12/2013 19:48:21
Funciona correctamente.
Supongo que necesito mucha practica ya que lo habia repasado mil veces y no conseguia ver nada.
Un millon de gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar