Foros del Web » Programando para Internet » Javascript »

Alternar entre dos imagenes

Estas en el tema de Alternar entre dos imagenes en el foro de Javascript en Foros del Web. Hola. Tengo dos imagenes una de un bombilla encendida y otra apagada. Quiero cambiar entre una y otra con un click como si fuera un ...
  #1 (permalink)  
Antiguo 14/01/2015, 06:20
 
Fecha de Ingreso: enero-2015
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Pregunta Alternar entre dos imagenes

Hola. Tengo dos imagenes una de un bombilla encendida y otra apagada. Quiero cambiar entre una y otra con un click como si fuera un interruptor. He probado con este código pero no funciona. No sé qué es lo que está mal:

Código:
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>Javascript01</title>
</head>

<body>
<img id="bombilla" onclick="changeImg()" src="off.gif">
<script>
function changeImg() {
var imagen = document.getElementById('bombilla');
if (imagen.src == "on.gif") {
imagen.src = "off.gif";
} else {
imagen.src = "on.gif";
}
}
</script>
</body>

</html>
  #2 (permalink)  
Antiguo 14/01/2015, 06:36
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 7 meses
Puntos: 12
Respuesta: Alternar entre dos imagenes

Hola oxk4r01, prueba con este código (adaptalo a tus necesidades), te estaba faltanto el llamado a la libreria de javascript para que funcione.

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.  
  4. <meta charset="UTF-8">
  5. <title>Javascript01</title>
  6. <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> <!-- Te falta llmar a la libreria de java script -->
  7. </head>
  8.  
  9. <img id="bombilla" onclick="changeImg()" width="80" src="http://previews.123rf.com/images/neyro2008/neyro20081210/neyro2008121000053/15912323-realistic-lit-light-bulb-isolated-on-white-vector-illustration.jpg">
  10. function changeImg() {
  11. var imagen = document.getElementById('bombilla');
  12. /* luego modificalo con tus imagenes.  */
  13. if (imagen.src == "on.gif") {
  14. imagen.src = "off.gif";
  15. } else {
  16. imagen.src = "http://us.cdn2.123rf.com/168nwm/tr3gi/tr3gi1101/tr3gi110100029/8746356-idea-y-solucion--bombilla-encendida-aislada-sobre-fondo-blanco-foto-de-ordinario-encendido-bombilla-.jpg";
  17. }
  18. }
  19. </body>
  20.  
  21. </html>
Espero te sirva.

Saludos.
__________________
http://www.sp-vision.net
  #3 (permalink)  
Antiguo 14/01/2015, 07:14
 
Fecha de Ingreso: enero-2015
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Alternar entre dos imagenes

Lo siento pero tu ejemplo no funciona. La llamada a las librerías de jQuery no entiendo porqué es necesaria. Este script no utiliza jQuery; sólo javaScript.
  #4 (permalink)  
Antiguo 14/01/2015, 07:19
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 7 meses
Puntos: 12
Respuesta: Alternar entre dos imagenes

Como quieras, a mi me funciono correctamente.

Saludos.
__________________
http://www.sp-vision.net
  #5 (permalink)  
Antiguo 14/01/2015, 08:50
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Alternar entre dos imagenes

El problema puede ser que el src, al ser interpretado, devuelva la ruta completa de la imagen y no sólo el nombre del archivo. Si, como en tu ejemplo, la imagen está en el mismo directorio, podés usar esto:
Código:
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>Javascript01</title>
</head>

<body>
<img id="bombilla" onclick="changeImg()" src="off.gif">
<script>
function changeImg() {
	
var imagen = document.getElementById('bombilla');

if (imagen.src.split('/').pop() == "on.gif") {
imagen.src = "off.gif";
} else {
imagen.src = "on.gif";
}
}
</script>
</body>

</html>
Si en cambio están en diferentes directorios (en el mismo también funcionaría), podrías usar esto otro:
Código:
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>Javascript01</title>
</head>

<body>
<img id="bombilla" onclick="changeImg()" src="off.gif">
<script>
function changeImg() {
	
var imagen = document.getElementById('bombilla');

if (imagen.src.indexOf("on.gif")!=-1 ) {
imagen.src = "off.gif";
} else {
imagen.src = "on.gif";
}
}
</script>
</body>

</html>
mauritosuarez: ¿para qué vas a incluir una librería si luego no la usás en tu código. Te sugiero que no hagas las cosas de manera automática.

Etiquetas: funcion, html, imagenes
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 22:57.