Foros del Web » Programando para Internet » Jquery »

[jquery] Como interrumpir el efecto slideDown()

Estas en el tema de [jquery] Como interrumpir el efecto slideDown() en el foro de Jquery en Foros del Web. Hola a todos, Tengo esta funcion que la estoy usando para desplegar un menu. Cuando paso el puntero sobre li ejecuta un slideDown para mostrar ...
  #1 (permalink)  
Antiguo 22/09/2010, 11:24
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
[jquery] Como interrumpir el efecto slideDown()

Hola a todos,

Tengo esta funcion que la estoy usando para desplegar un menu.
Cuando paso el puntero sobre li ejecuta un slideDown para mostrar un contenido. En principio funciona bien pero me gustaría que si quito el puntero cuando aún no se ha completado el slideDown (o sea antes de los 500 milisegundos) comience el slideUp.

Con esto evito que cuando se pase el puntero sobre varios li se estén abriendo totalmente.

Código Javascript:
Ver original
  1. $(" li").hover(function(){
  2.         $(this).find('ul:first:hidden').css({visibility: "visible",display: "none"}).slideDown(500);
  3.     },function(){
  4.             $(this).find('ul:first').slideUp(100);
  5.     });


gracias
  #2 (permalink)  
Antiguo 23/09/2010, 08:05
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: [jquery] Como interrumpir el efecto slideDown()

postea el html asi pruebo entiendo bien el problema
  #3 (permalink)  
Antiguo 27/09/2010, 01:05
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Respuesta: [jquery] Como interrumpir el efecto slideDown()

Cita:
Iniciado por Dany_s Ver Mensaje
postea el html asi pruebo entiendo bien el problema
es una lista desordenada:

Código HTML:
<ul>
  <li>1</li>
   <ul>
     <li>1.a</li>
     <li>1.b</li>
   </ul>
  <li>2</li>
</ul> 
  #4 (permalink)  
Antiguo 27/09/2010, 05:54
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: [jquery] Como interrumpir el efecto slideDown()

aunque no tenga que ver con el efecto no es correcto anidar de esa forma los ul

te dejo una solición con animate
Código HTML:
Ver original
  1.     <head>
  2.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3.         <title>Prueba</title>
  4.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  5.         <script type="text/javascript">
  6.             $(document).ready(function(){
  7.                 $('#menu>li').hover( function (){
  8.                     div = $('div', this);
  9.                     div.animate({height: $('ul', div).height()+'px'}, { queue:false, duration:500 });
  10.                 }, function (){
  11.                     $('div', this).animate({height: '0px'}, { queue:false, duration:500 });
  12.                 });
  13.             })
  14.         </script>
  15.     </head>
  16.     <style>
  17.         ul{width:150px}
  18.         ul>li{background:green}
  19.         ul li>div{height:0px; overflow:hidden; background:blue}
  20.     </style>
  21.     <body>
  22. <ul id="menu">
  23.     <li>1
  24.         <div>
  25.             <ul>
  26.                 <li>1.a</li>
  27.                 <li>1.b</li>
  28.             </ul>
  29.         </div>
  30.     </li>
  31.     <li>2
  32.         <div>
  33.             <ul>
  34.                 <li>2.a</li>
  35.                 <li>2.b</li>
  36.                 <li>2.c</li>
  37.                 <li>2.d</li>
  38.             </ul>
  39.         </div>
  40.     </li>
  41.     <li>3
  42.         <div>
  43.             <ul>
  44.                 <li>3.a</li>
  45.                 <li>3.b</li>
  46.             </ul>
  47.         </div>
  48.     </li>
  49.     <li>4
  50.         <div>
  51.             <ul>
  52.                 <li>4.a</li>
  53.                 <li>4.b</li>
  54.             </ul>
  55.         </div>
  56.     </li>
  57. </ul>
  58.     </body>
  59. </html>

Etiquetas: efecto, slidedown
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 05:33.