Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] cambiar de imagen

Estas en el tema de cambiar de imagen en el foro de Jquery en Foros del Web. Tengo un botón q cuando le hago click se oculta un div. Lo que quiero es q cunado se oculte el div la imagen q ...
  #1 (permalink)  
Antiguo 16/05/2013, 17:15
 
Fecha de Ingreso: septiembre-2003
Ubicación: Bogota
Mensajes: 266
Antigüedad: 21 años, 3 meses
Puntos: 0
cambiar de imagen

Tengo un botón q cuando le hago click se oculta un div. Lo que quiero es q cunado se oculte el div la imagen q es un x (png) se convierta en un + y así q cuando le haga click al más se convierta en una x.
Como puedo hacer eso?
Este es el código q tengo
<script type="text/javascript">
$(document).ready(function(){
$("#boton").click(function () {
$("#contenido").each(function() {
displaying = $(this).css("display");
if(displaying == "block") {
$(this).fadeOut('slow',function() {
$(this).css("display","none");
});
} else {
$(this).fadeIn('slow',function() {
$(this).css("display","block");
});
}
});
});
});
</script>
gracias
__________________
anaky
  #2 (permalink)  
Antiguo 16/05/2013, 17:51
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 16 años, 11 meses
Puntos: 46
Respuesta: cambiar de imagen

Creo que puedes acortar bastante el código con toggle(). Puedes hacer 2 divs, uno contendrá la "x" y otro el "+", por defecto oculta el segundo y luego invoca a toggle para ambos divs. Uno se debería ocultar y el otro mostrar.

Salu2.
  #3 (permalink)  
Antiguo 17/05/2013, 11:44
 
Fecha de Ingreso: septiembre-2003
Ubicación: Bogota
Mensajes: 266
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: cambiar de imagen

mira encontre este codigo pero no me funciona no me cambia la imagen (cree dos div cada uno con el id del botn q le coreponde)
<script>
jQuery(document).ready(function(){
$("#boton-2").hide();
$("#boton").click(function(){
var nodo = $(this).attr("href");

if ($(nodo).is(":visible")){
$(nodo).hide();
return false;
}else{
$("#boton-2").hide();
$(nodo).fadeToggle( "slow" );
return false;
}
});
});
</script>
__________________
anaky
  #4 (permalink)  
Antiguo 20/05/2013, 06:46
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años, 7 meses
Puntos: 17
Mensaje Respuesta: cambiar de imagen

Código:
jQuery(document).ready(function(){
$("#boton-2").hide(); 
$("#boton").toggle(
     function(){
            $(nodo).hide();
            $('img.miimagen').attr('src','el_mas.png');
     },
     function(){
            $(nodo).show();
            $('img.miimagen').attr('src','la_cruz.png');

    });
});
  #5 (permalink)  
Antiguo 22/05/2013, 08:06
Avatar de joaquinrot  
Fecha de Ingreso: diciembre-2012
Ubicación: Córdoba
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: cambiar de imagen

Cita:
Iniciado por newboy_master Ver Mensaje
Creo que puedes acortar bastante el código con [URL="http://api.jquery.com/toggle/"]toggle()[/URL]. Puedes hacer 2 divs, uno contendrá la "x" y otro el "+", por defecto oculta el segundo y luego invoca a toggle para ambos divs. Uno se debería ocultar y el otro mostrar.

Salu2.
Cuidado con toggle() que ya está deprecado en la versión actual de jquery.
  #6 (permalink)  
Antiguo 22/05/2013, 08:27
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 16 años, 11 meses
Puntos: 46
Respuesta: cambiar de imagen

Acabo de verlo, dejo una alternativa que recomiendan en varios sitios:
http://stackoverflow.com/a/14478259

Salu2.
__________________
@jslirola - Programador Web Freelance.
  #7 (permalink)  
Antiguo 29/05/2013, 16:29
 
Fecha de Ingreso: septiembre-2003
Ubicación: Bogota
Mensajes: 266
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: cambiar de imagen

gracias por sus ayudas fueron de muy útiles
__________________
anaky

Etiquetas: Ninguno
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 13:42.