Foros del Web » Programando para Internet » Javascript »

Cambiar de imagen al hacer click sobre tal

Estas en el tema de Cambiar de imagen al hacer click sobre tal en el foro de Javascript en Foros del Web. Hola, necesito el código para poder cambiar de imagen al hacer click sobre ella, no me importa si lleva o no lleva boton ni nada, ...
  #1 (permalink)  
Antiguo 23/04/2014, 18:00
 
Fecha de Ingreso: enero-2014
Mensajes: 21
Antigüedad: 10 años, 3 meses
Puntos: 0
Cambiar de imagen al hacer click sobre tal

Hola, necesito el código para poder cambiar de imagen al hacer click sobre ella, no me importa si lleva o no lleva boton ni nada, sólo quiero que se cambien una tras otra al hacer click. Gracias
  #2 (permalink)  
Antiguo 23/04/2014, 19:54
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Cambiar de imagen al hacer click sobre tal

Esto no se hace con PHP, sino con HTML+CSS o Javascript... me inclino por este último y muevo tu tema para allá.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/04/2014, 23:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Cambiar de imagen al hacer click sobre tal

No debería, pues al menos debiste indagar y, por ende, haber elaborado algunas líneas de código para así intentar resolver tu problema, pero como estoy de buenas, te ayudaré. Pero no te acostumbres.

Código Javascript:
Ver original
  1. var img = document.getElementsByTagName("img")[0],
  2.     imagenes = ["imagen1.jpg", "imagen2.jpg", "imagen3.jpg"],
  3.     total = imagenes.length,
  4.     cont = 0;
  5.  
  6. img.src = imagenes[cont];
  7.  
  8. img.addEventListener("click", function(){
  9.     cont = cont == total - 1 ? 0 : ++cont;
  10.     img.src = imagenes[cont];
  11. }, false);

Primero, creo un elemento <img> en el cual mostraré a cada imagen y luego lo tomo, ya sea por el nombre de su etiqueta (como en este caso), por su id o por su nombre de clase, tú decides. Luego, creo un array con los nombres de las imágenes los cuales deben contar con la ruta en la que se encuentren, es decir, si tengo a "imagen1.jpg" en una carpeta "img" que se encuentre en un nivel superior, debo de escribir "img/imagen1.jpg" para así poder tomarla y mostrarla, de otro modo, esto no sucederá. Finalmente, calculo el total de imágenes que contiene el array e inicializo en cero a una variable que me servirá de contador.

Al cargar la página, asigno a la primera imagen del array al elemento de imagen en el documento, luego, cada vez que de un clic en dicho elemento, aumentaré el valor del contador hasta que llegue a la última posición del array, la cual es igual al total de imágenes menos uno (recordando que las posiciones en el array empiezan desde cero). Cuando el valor del contador sea igual a la última posición del array, le asigno el valor cero, creando así un bucle sin fin.

Finalmente, asigno al elemento de imagen la imagen del array que corresponda al valor actualizado del contador.



Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: php
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 12:50.