Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/06/2013, 20:54
Avatar de ZoroRoronoa
ZoroRoronoa
 
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años, 1 mes
Puntos: 116
Respuesta: Condicional entre funciones

Lo mejor seria usar un auxiliar (o variable Global)
Mira ya colgaste el Hilo anterior y te lo dejo en este hilo Colega.

Si lo que deseas, es tener SOLO un slide abierto a la vez.

Facil, A los 5 slides ponles una clase.
agregas los 5 slides a un array con la funcion find().

Al hacer el evento CLICK, cierras todos los SLIDES, y abres el que se pulso, para saber cual fue el que se pulso, usa la funcion index(), o eq() [eq() no la he usado]

**Uffs... me tomo media hora.. te cuento la funciones.
-clases que distinguen si los slides se abren hacia arriba o hacia abajo.
-si pulsas boton ABRE, si pulsas de nuevo boton CIERRA
-si abres un slide, y despues abres todo, el anterior lo cierra automaticamente. (Solo un slide puede estar abierto a la VEZ).

te dejo un EJEMPLO con 4 Slides:
code HTML:
Código HTML:
Ver original
  1. <!--
  2. NO OLVIDES AGREGAR EN EL HEAD
  3. LAS LIBRERIAS jQuery Y jQueryUI
  4. -->
  5.  
  6. <div id="uno">
  7.     <div class="boton">boton 1</div>
  8.     <div id="slide1" class="igual divtop">DIV 1<br/>ABAJO hacia ARRIBA</div>
  9. </div>
  10. <div id="dos">
  11.     <div class="boton">boton 2</div>
  12.     <div id="slide2" class="igual divtop">DIV 2<br/>ABAJO hacia ARRIBA</div>
  13. </div>
  14. <div id="tres">
  15.     <div class="boton">boton 3</div>
  16.     <div id="slide3" class="igual divbot">DIV 3<br/>ARRIBA hacia ABAJO</div>
  17. </div>
  18. <div id="cuatro">
  19.     <div class="boton">boton 4</div>
  20.     <div id="slide4" class="igual divbot">DIV 4<br/>ARRIBA hacia ABAJO</div>
  21. </div>

code CSS:
Código CSS:
Ver original
  1. #uno, #dos, #tres, #cuatro {position:absolute; width:200px; height:300px; background:#DDD;}
  2. #uno {top:10px; left:10px;}
  3. #dos {top:10px; right:10px;}
  4. #tres {top:320px; right:40px;}
  5. #cuatro {top:340px; left:30px;}
  6. .boton {position:absolute; bottom:0; right:0; background:green; width:50px; height:50px; cursor:pointer;}
  7. #slide1, #slide2, #slide3, #slide4 { display:none; float:left; width:149px; height:299px; background:blue;}

code jQuery:
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     var aux = -1; //iniciamos la variable que nos ayudara a saber si ya se pincho el boton
  3.     var array = $(this).find(".igual"); //obtenemos todos los Slide GRACIAS a la clase igual
  4.    
  5.     //AQUI DEFINIMOS LAS FUNCIONES DE LOS EFECTOS SLIDE SHOW SLIDE HIDE
  6.     //para ello nos apoyamos de clases como divtop, divbot
  7.     //Que significan hacia donde cierra el SLIDE (arriba o abajo)
  8.    
  9.     $(".boton").click(function() {
  10.         cualSlide = $(this).index(".boton"); //saber que boton es, y asi saber cual slide es
  11.        
  12.         clase = $(array[cualSlide]).attr("class").split(" ");
  13.        
  14.         if(aux != cualSlide) {
  15.         if(clase[1] == "divtop") {
  16.             $(".divtop").hide("slide",{direction:"down"},2000);
  17.             $(".divbot").hide("slide",{direction:"up"},2000);
  18.             $(array[cualSlide]).show("slide",{direction:"down"},2000);
  19.         } else if((clase[1]) == "divbot") {
  20.             $(".divtop").hide("slide",{direction:"down"},2000);
  21.             $(".divbot").hide("slide",{direction:"up"},2000);
  22.             $(array[cualSlide]).show("slide",{direction:"up"},2000);
  23.         }
  24.         aux = cualSlide;
  25.         } else if(aux == cualSlide) {
  26.             if(clase[1] == "divtop") {
  27.             $(".divtop").hide("slide",{direction:"down"},2000);
  28.         } else if((clase[1]) == "divbot") {
  29.             $(".divbot").hide("slide",{direction:"up"},2000);
  30.         }
  31.         aux = -1;
  32.         }
  33.     });
  34. });


Aqui en vivo el Ejemplo:
http://kurosaki.host22.com/jqueryui/UI-practica1.html

Deberia cobrarte? Me he venido a un ciberCafe a pastearte el code… Jaaja, son $2 USD Jaaja!! Broma broma
Saludos.
__________________
Programador jQuery & PHP