Foros del Web » Programando para Internet » Javascript »

src dinámica?

Estas en el tema de src dinámica? en el foro de Javascript en Foros del Web. Tengo el siguiente código desarrollado por mi: Código HTML: <map name= "Map" > <area shape= "rect" coords= "321,3,360,27" a href= "#" onclick= "document.getElementById('imagenit').setAttribute('src', 'imágenes/imagen1.jpg')" ; ...
  #1 (permalink)  
Antiguo 04/02/2011, 17:33
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
src dinámica?

Tengo el siguiente código desarrollado por mi:

Código HTML:
<map name="Map">
<area shape="rect" coords="321,3,360,27" a href="#" onclick="document.getElementById('imagenit').setAttribute('src', 'imágenes/imagen1.jpg')"; >
</map> 
Ese botón, al pulsarlo, lo que hace es cambiar una imagen por otra situada en un div. El problema es que quiero que conforme lo vaya pulsando, me vaya cambiando la imagen que hay en ese momento por la siguiente.

Ej:
imagen1, al pulsar el botón se cambia por imagen2, al volverlo a pulsar por imagen3, etc...

En resumen, no se cómo hacer que cambie el:
Código HTML:
'imágenes/imagen1.jpg'
del código.

He pensado en añadirle una variable sumatoria, pero en javascript no se hacerlo... en php sería algo como:
Código PHP:
echo "...('imagenit').setAttribute('src', 'imágenes/imagen".$suma.".jpg')'; >"
donde $suma iría tomando valores 1, 2, 3....

Gracias de antemano!
  #2 (permalink)  
Antiguo 04/02/2011, 17:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: src dinámica?

Hola:

Para atributos normales, como el src de las imágenes, no es necesario usar setAttribute, basta con el atributo detrás de un punto, y contestando... supongo que existirá un número máximo de imágenes, así que intentaré responder basándome en eso:


onclick="document.getElementById('imagenit').src = 'imágenes/imagen' + (++n % 5) + '.jpg'"

Para esto deberías tener inicializada globalmente la variable n a cero, y el máximo posible 4

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 05/02/2011, 05:14
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: src dinámica?

Mil gracias! Va perfecto n_n
  #4 (permalink)  
Antiguo 05/02/2011, 06:40
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 10 meses
Puntos: 81
Respuesta: src dinámica?

Si, va perfecto, pero a lo mejor solo en tu hosting local, no pongas acentos ni eñes como nombres de carpetas ni archivos. Veo que tu carpeta tiene acento, eso es absolutamente innecesario y puede traerte problemas en un servidor linux, el cual es el hosting más común que existe en el mercado. Si, es una pequeñez, pero puede ser la causa de un problema. Suerte!
  #5 (permalink)  
Antiguo 05/02/2011, 07:30
 
Fecha de Ingreso: febrero-2011
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: src dinámica?

Gracias por el consejo

Ahora me he vuelto a atacascar jejejeje

He hecho un poco más complejo el código. He creado una función de manera que, cuando pulse el botón antes mencionado:

Código HTML:
<map name="Map">
<area shape="rect" coords="321,3,360,27" a href="#" onClick="chancenow()"; >
</map> 
Llame a esa función que, en esencia, hace lo de ir cambiando imagenes y, además, ahora pretendo que cambie el href que va ligado a cada imagen:

Código HTML:
<script type="text/javascript">
var n = 0;
var mazork;

function chancenow() {
document.getElementById('imagenit').src = 'imagenes/imagen' + (++n % 5) + '.jpg';

mazork=document.getElementById('imagenit').src;

if (mazork = 'imagenes/imagen1.jpg'){
	document.getElementById('urls').href = 'http://www.compasfilms.com';
}

if (mazork = 'imagenes/imagen2.jpg'){
document.getElementById('urls').href = 'http://www.daepc.org';
}

if (mazork = 'imagenes/imagen3.jpg'){
document.getElementById('urls').href = 'http://www.bazarcarnivoro.com';
}



}
</script> 
Las imagen inicial esta puesta así:

Código HTML:
<div id="imol">
<a href="http://www.compasfilms.com/" target="_blank" id="urls">
<img src="imagenes/imagen1.jpg" name="Image28" width="541" height="278" border="0" id="imagenit">
</a>
</div> 
Pues bien, el código tiene el defecto de que, a pesar de que me cambia las imagenes bien, y que me recoge bien los cambios en la variable "mazork" cada vez que hago clic en el botón, el href cambia, pero siempre a la última url, la de http://www.bazarcarnivoro.com.

Creo que el fallo está en la comparación de variables de los "IF" porque si la variable alberga bien la cadena en cada momento, desconozco porqué no entra en los IFs anteriores y siempre entra en el último IF sin cumplir la condición..

Ejemplo:
Imagen1 --> url1
Clic 1º--> Imagen 2 --> url2
Clic 2º --> Imagen 3 -->url3

Pero en realidad hace:
Imagen1 --> url1
Clic 1º--> Imagen 2 --> url3
Clic 2º --> Imagen 3 -->url3

Y si añadiese más imagenes y urls, pasa lo mismo:
Pero en realidad hace:
Imagen1 --> url1
Clic 1º--> Imagen 2 --> url3
Clic 2º --> Imagen 3 -->url3
Clic 3º --> Imagen 4 -->url3

He probado de todas las formas que se me han ocurrido con los ifs, pero nada:
if (mazork = 'imagenes/imagen1.jpg'){
if (mazork == 'imagenes/imagen1.jpg'){
if (mazork = "imagenes/imagen1.jpg"){
if (mazork == 'imagenes/imagen1.jpg'){
[...]

Mil gracias! Esta es la última, ya no os doy más la "lata" jiji

Etiquetas: src
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:25.