Foros del Web » Programando para Internet » Jquery »

Hacer algo luego de slideToggle()

Estas en el tema de Hacer algo luego de slideToggle() en el foro de Jquery en Foros del Web. Hola, tengo la siguiente función: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $ ( function ( ) {     $ ( "#mostrar" ) . ...
  #1 (permalink)  
Antiguo 04/03/2013, 15:03
 
Fecha de Ingreso: junio-2011
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 13
Pregunta Hacer algo luego de slideToggle()

Hola, tengo la siguiente función:

Código Javascript:
Ver original
  1. $(function(){
  2.     $("#mostrar").click(function(event) {
  3.         $("header").css("position","absolute");
  4.         event.preventDefault();
  5.         $("#cuadro").slideToggle();
  6.     });
  7. });

El tema es que la position de header antes de que se ejecute la función era fixed, entonces como hago para que al volver a hacer clic en el div #mostrar, que es cuando se oculta, el header quede con su position original, o sea fixed ya que se modificó.

Gracias! :)
  #2 (permalink)  
Antiguo 05/03/2013, 10:25
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 9 meses
Puntos: 36
Respuesta: Hacer algo luego de slideToggle()

En vez de que utilices click, usa toggle, con eso puedes usar 2 funciones, algo asi como una ida y una de venida, algo asi:

Código Javascript:
Ver original
  1. $(function() {
  2.                 $("#mostrar").toggle(function(event) {
  3.                         $("header").css("position", "absolute");
  4.                         event.preventDefault();
  5.                         $("#cuadro").slideToggle();
  6.                    },function(event) {
  7.                     $("header").css("position", "fixed");
  8.                     event.preventDefault();
  9.                     $("#cuadro").slideToggle();
  10.                 });
  11.             });

Aunque hay que ver bien que es lo que quieres hacer con $("#cuadro").slideToggle(); ya que como no tengo todo tu codigo no se cual seria su comportamiento, pruebalo y me dice como te fue,

Saludos
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #3 (permalink)  
Antiguo 05/03/2013, 11:37
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 9 meses
Puntos: 36
Respuesta: Hacer algo luego de slideToggle()

Mira el codigo anterior era una suposicion por que no lo habia probado, pero tras una serie de pruebas me di cuenta que al usar jQuery 1.9.1 .toggle() que funcionaba como un evento de click para mostrar y esconder ha sido quitado para evitar ambiguedad con el efecto .toggle(), por que lo que tienes dos opciones, usara el plugin migrate de jQuery para que funcione o adaptarte a la nueva version y trabajar sin el .toggle() y hacer tu propio toggle, yo me voy por la opcion de hacer mi propio toggle ya que eventualmente ya no se usara, por lo tanto te pongo un ejemplo que acabo de hacer para que funcione exactamente como el toggle, y asi tambien puede colocar la posicion del #header de absoluto a fixed:

Código Javascript:
Ver original
  1. var enableCuadro = false;
  2.        
  3.         $(document).ready(function() {
  4.             $("#cuadro").hide();
  5.            
  6.             $("#mostrar").click(function () {
  7.                 if(!enableCuadro) {
  8.                     $("header").css("position", "absolute");
  9.                     $("#cuadro").slideDown();
  10.                     enableCuadro = true;
  11.                 }else if(enableCuadro) {
  12.                     $("header").css("position", "fixed");
  13.                     $("#cuadro").slideUp();
  14.                     enableCuadro = false;
  15.                 }
  16.             });
  17.         });

Lo pruebas y me comentas, ,saludos !!!
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #4 (permalink)  
Antiguo 05/03/2013, 11:45
 
Fecha de Ingreso: junio-2011
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 13
Respuesta: Hacer algo luego de slideToggle()

Muchas gracias Reedyseth por tu ayuda y respuesta detallada.
Voy a probarlo, ahora me han surgido otras dudas pero voy a preguntarlas en un hilo aparte por las dudas, gracias nuevamente. :)
  #5 (permalink)  
Antiguo 05/03/2013, 11:46
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 9 meses
Puntos: 36
Respuesta: Hacer algo luego de slideToggle()

Por nada, mira si te saltan dudas de este codigo en esta misma liga te las respondo para que no se pierda, saludos !!
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #6 (permalink)  
Antiguo 05/03/2013, 11:56
 
Fecha de Ingreso: junio-2011
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 13
Respuesta: Hacer algo luego de slideToggle()

Gracias Reedyseth, se trata sobre otro tema de Javascript.
Ahora voy a probar esto!

Saludos.

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 18:19.