ARGENTOP2P

Soporte, Ayuda y Consultas => Programación en General => Mensaje publicado por: demono en Junio 08, 2009, 01:05:37

Título: (AYU) Ocultar / Mostrar div con Jquery
Publicado por: demono en Junio 08, 2009, 01:05:37
Una vez mas recurro a la ayuda argenta para ver si alguien puede darme una mano con Jquery, seguramente sea una boludez....

El tema es que quiero Ocultar y Mostrar un div con un mismo link.
El codigo que tengo hasta ahora es el siguiente:


$("#mskillerhide").click(function(){
$("div.menu_skiller").hide("slow");
$("#mskillerhide").attr("id","mskillershow"); 
$("#mskiller").attr("src","images/icon_open.jpg"); 
}
);
$("#mskillershow").click(function(){
$("div.menu_skiller").show("slow");
$("#mskillershow").attr("id","mskillerhide"); 
$("#mskiller").attr("src","images/icon_close.jpg"); 
});


Siendo el codigo del link el siguiente:


<a href=# id=mskillerhide><img id=mskiller src=images/icon_close.jpg border=0></a> Skiller

<div class=menu_skiller>
XXX
</div>


El Div cuando presiono el link se oculta perfectamente e incluso cambian los atributos para que me debe reaparecerlo y que queda asi:

<a href=# id=mskillershow><img id=mskiller src=images/icon_open.jpg border=0></a>

El tema  viene cuando vuelvo a clickear sobre el link para que se vuelva a abrir que no pasa nada. Segun lo que vi con firebug los atributos cambian bien, el tema es que no me deja usar el mismo link para hacer ambas cosas...


Alguien tiene alguna idea?
Por ahora solo se me ocurrio tener 2 botones y que se oculte el de mostrar al presionarlo y aparezca el de ocultar y viceversa, pero se me hace que es un mamarracho...
Título: Re: (AYU) Ocultar / Mostrar div con Jquery
Publicado por: Camello_AR en Junio 08, 2009, 16:33:50
Probaste usando la consola de errores en FF?? (Herramiientas/Consola de Errores) para ver si te tira algún error de ejecución
Título: Re: (AYU) Ocultar / Mostrar div con Jquery
Publicado por: demono en Junio 08, 2009, 22:41:25
Cita de: Camello_AR en Junio 08, 2009, 16:33:50
Probaste usando la consola de errores en FF?? (Herramiientas/Consola de Errores) para ver si te tira algún error de ejecución

Acabo de fijarme y no hay ningun error, ni siquiera una advertencia.  :'( :'(
Título: Re: (AYU) Ocultar / Mostrar div con Jquery
Publicado por: Camello_AR en Junio 08, 2009, 23:04:00
Yo no entiendo bien la estructura del primer código, seguramente pq usas un framework (o sea me doy cuenta de lo que hace pero no como código), ¿tenés alguna forma que veamos algun ejemplo del codigo funcionando?
Título: Re: (AYU) Ocultar / Mostrar div con Jquery
Publicado por: demono en Junio 09, 2009, 00:08:48
Si, claro, en la web de Jquery mismo hay ejemplos del funcionamiento:
http://docs.jquery.com/Tutorials:Live_Examples_of_jQuery
Título: Re: (AYU) Ocultar / Mostrar div con Jquery
Publicado por: Camello_AR en Junio 09, 2009, 20:41:25
Fijate que usa una función toggle()

$("a.codeButtonD").click(function(){$("pre.codeD").toggle(); return false;});


se ve que esa función hace todo lo que haces (debe estar contenida en alguno de los .js de jsquery)
Título: Re: (AYU) Ocultar / Mostrar div con Jquery
Publicado por: demono en Junio 10, 2009, 01:54:58
Mil gracias came, acabo de encontrarle la vuelta usando la funcion que encontraste. Logicamente hablando lo que habia hecho antes en teoria deberia haber funcionado, pero se ve que hay alguna clase de limitacion con Jquery.

El codigo que termine usando es el siguiente:


var cont = 0;
$("#mskiller_button").click(function()
{
$("div.menu_skiller").toggle("slow");

    if (tool=="skiller")
    {
        if(cont%2==0)
        {
        cont++
        $("#mskiller").attr("src","images/icon_open.jpg"); 
        }
        else
        {
        cont++
        $("#mskiller").attr("src","images/icon_close.jpg");
        }
    }
    else
    {
        if(cont%2==1)
        {
        cont++
        $("#mskiller").attr("src","images/icon_open.jpg"); 
        }
        else
        {
        cont++
        $("#mskiller").attr("src","images/icon_close.jpg");
        }
    }


}
);