Foros del Web » Programando para Internet » Jquery »

Abrir y cerrar div Jquery

Estas en el tema de Abrir y cerrar div Jquery en el foro de Jquery en Foros del Web. Hola, revisando algunos tutos de Desarrollo web sobre esconder y mostrar un DIV. tengo la sigiente curiosidad. $("#ocultar").click(function(event){ event.preventDefault(); $("#welcome").hide("slow"); $('#ocultar').html(' Abrir '); $('#ocultar').attr("id","mostrar"); }); ...
  #1 (permalink)  
Antiguo 21/12/2009, 07:51
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Abrir y cerrar div Jquery

Hola, revisando algunos tutos de Desarrollo web sobre esconder y mostrar un DIV. tengo la sigiente curiosidad.

$("#ocultar").click(function(event){
event.preventDefault();
$("#welcome").hide("slow");
$('#ocultar').html(' Abrir ');
$('#ocultar').attr("id","mostrar");

});

$("#mostrar").click(function(event){
event.preventDefault(); alert(' hola ');
$("#welcome").show(3000);
$('#mostrar').html(' Ocultar ');
$('#mostrar').attr("id","ocultar");
});



<div style="width:600px; background-color:#CCCCCC">
<div id="welcome">
<h1>PANEL DE USUARIO </h1>
<a href="index.php?wAU=<?php echo $IDWEB; ?>">Ir al sitio</a></h2>
</div>
<div><a href="#" id="ocultar" >Ocultar</a></div>
</div>

Cuando doy click en ocultar, efectivamente el div se oculta y el texto se cambia por mostrar, es decir que se pueda mostrar el div, pero la sobresa es que cuando doy click en mostarr el div no se despliega.

Que puede ser???
__________________
No hay nada que foros del web no sepa!!!!

Peca tanto quien presume de su belleza como de su inteligencia, ya que la brevedad de la vida aunque distorcionada siempre estara presente.
  #2 (permalink)  
Antiguo 21/12/2009, 08:49
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Abrir y cerrar div Jquery

porque estas modificando el id del enlace creo que eso ya es un elemento nuevo, para eso tienes que usar el evento live

Código HTML:
$("#ocultar").live('click', function(event){
    event.preventDefault();
    $("#welcome").hide("slow");
    $('#ocultar').html(' Abrir ');
    $('#ocultar').attr("id","mostrar");

});

$("#mostrar").live('click',function(event){
    event.preventDefault();
    $("#welcome").show(3000);
    $('#mostrar').text(' Ocultar ');
    $('#mostrar').attr("id","ocultar");
});

pero para hacer eso yo utilizaria toggle que se usa para ejecutar 2 funciones en forma alternada

Código HTML:
$("#ocultar").toggle(function(){
    $('#welcome').hide("slow");
    $(this).text("Mostrar");
},function(){
    $('#welcome').show(3000);
     $(this).text("Ocultar");
});
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 14:28.