Foros del Web » Programando para Internet » Javascript »

cambiar imagen por otra al clikear y volver al volver a clickear

Estas en el tema de cambiar imagen por otra al clikear y volver al volver a clickear en el foro de Javascript en Foros del Web. Seguramente es simple pero no he podido hacerlo Quiero crear una funcion que pueda utilizar en mis links para rotar una imagen por la otra ...
  #1 (permalink)  
Antiguo 22/07/2005, 10:51
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 2 meses
Puntos: 0
cambiar imagen por otra al clikear y volver al volver a clickear

Seguramente es simple pero no he podido hacerlo
Quiero crear una funcion que pueda utilizar en mis links para rotar una imagen por la otra cada vez que hago click, algo asi como un boton ON-OFF-ON
EL tema es que lo que he probado no me ha funcionado, les paso el codigo y a ver si pueden ayudarme


function cambiar() {
var i=1;
if (i == 1){
document.images["flecha1"].src="image/ico/arrow_up.gif";
i=2;
}
else
{
document.images["flecha1"].src="image/ico/arrow_down.gif";
i=1;
}
}


Y mas abajo en una tabla:

<td width="113"><a href="javascript:" class="menu" onClick="cambiar()">INMUEBLES</a></td>
<td width="15"><img src="image/ico/arrow_up.gif" name="flecha1" width="10" height="16" id="flecha1"></td>

Lo cierto es que no me funciona, y quiero a partir de este modelo cuando este funcionando crear una funcion que sirva para todos. Algo asi:

cambiar('id_imagen','unaimagen.jpg','laotraimagen. jpg')

He buscado y si bien encontre, me siguen dando errores del tipo que no se encuentra el objeto
Espero que puedan ayudarme
Gracias
  #2 (permalink)  
Antiguo 22/07/2005, 11:50
 
Fecha de Ingreso: marzo-2003
Mensajes: 119
Antigüedad: 21 años, 1 mes
Puntos: 0
esto tendría que funcionar:

Código HTML:
function cambiar(id,una,otra)
{
imagensrc=document.getElementById(id).src;
if(imagensrc==otra)
{
imagensrc=una;
}else{
imagensrc=otra;
}
}
Código HTML:
<img src="unaimagen.jpg" onclick="cambiar('id_imagen','unaimagen.jpg','laotraimagen. jpg')" /> 
  #3 (permalink)  
Antiguo 22/07/2005, 11:58
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Shaka , el problema de tu función es que la variable "i" es interna, con lo que no se guarda su valor de una vez a otra. Valdría si hicieras
Código:
var i=1;
function cambiar() {
   (etc.)

Pero si, como dices, quieres hacerla genérica para otras imágenes ese método no te valdrá, es mejor que uses algo como lo que te ha dicho neo.
__________________
Angel :cool:
  #4 (permalink)  
Antiguo 22/07/2005, 12:37
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 2 meses
Puntos: 0
Cita:
Iniciado por neo_1899_fcb
esto tendría que funcionar:

Código HTML:
function cambiar(id,una,otra)
{
imagensrc=document.getElementById(id).src;
if(imagensrc==otra)
{
imagensrc=una;
}else{
imagensrc=otra;
}
}
Código HTML:
<img src="unaimagen.jpg" onclick="cambiar('id_imagen','unaimagen.jpg','laotraimagen. jpg')" /> 
Lo acabo de probar pero no me anda, y ademas el tema es que lo que dispara la accion debe ser un link de texto

y probe armar un link con el onclick="cambiar('id_imagen','unaimagen.jpg','laot raimagen. jpg')" pero nada
Alguna idea de por que?
Gracias
  #5 (permalink)  
Antiguo 22/07/2005, 13:54
 
Fecha de Ingreso: marzo-2003
Mensajes: 119
Antigüedad: 21 años, 1 mes
Puntos: 0
perdonperdon, es que no tuve tiempo de probarlo. menudo fallo. como va a cambiar la imagen de la forma que lo puse... ayy que mal estamos.


ahora:
Código HTML:
function cambiar(id,una,otra)
{
imagen=document.getElementById(id);
if(imagen.src==otra)
{
imagen.src=una;
}else{
imagen.src=otra;
}
}
  #6 (permalink)  
Antiguo 23/07/2005, 11:55
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 2 meses
Puntos: 0
Esto funciona en mouseover pero no onclick, alguien sabe porque?

<html>
<head>
<script language="javascript">
<!--
var i=2,objeto;
function cambiar(imagen,up,down) {
if (i == 1)
{
imagen.src=up;
i=2;
}
else
{
imagen.src=down;
i=1;
}
}

//-->
</script>
</head>

<body>
<p><img src="image/ico/arrow_up.gif" name="ejemplo" width="10" height="16" id="ejemplo">
</p>
<p><a href="javascript:" >INMUEBLES</a></p>
<p><a href="javascript:" onMouseOver="cambiar(document.ejemplo,'image/ico/arrow_up.gif','image/ico/arrow_down.gif')">Al pasar</a></p>
<p><a href="javascript:" onClick="cambiar(document.ejemplo,'image/ico/arrow_up.gif','image/ico/arrow_down.gif')">Con click</a></p>
</body>
</html>
  #7 (permalink)  
Antiguo 23/07/2005, 13:00
 
Fecha de Ingreso: marzo-2003
Mensajes: 119
Antigüedad: 21 años, 1 mes
Puntos: 0
prueba esto. me funciona perfectamente. con link de texto, al hacer click...

Código HTML:
function cambiar(id,una,otra)
{
imagen=document.getElementById(id);
if(imagen.src==otra)
{
imagen.src=una;
}else{
imagen.src=otra;
}
}
Código HTML:
<a href="javascript:cambiar('id_imagen','unaimagen.jpg','laotraimagen. jpg')">cambiar</a> 
  #8 (permalink)  
Antiguo 25/07/2005, 09:22
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 2 meses
Puntos: 0
Funciono

Funcono correctamente,
Pero por favor, para desasnar a este aprendiz, porque no funciona con el evento onClick?
  #9 (permalink)  
Antiguo 29/09/2008, 19:45
 
Fecha de Ingreso: julio-2007
Mensajes: 29
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: cambiar imagen por otra al clikear y volver al volver a clickear

Necesito la misma función pero para el evento onclick... ¿alguien podría decirnos?

gracias
  #10 (permalink)  
Antiguo 30/09/2008, 08:37
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: cambiar imagen por otra al clikear y volver al volver a clickear

El mensaje original es de hace más de 3 años. Por favor, no reviváis temas tan antiguos.

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 14:22.