2009-05-31 12 views
24

tengo este jQuery:jQuery animación de palanca

$(document).ready(function() 
{ 
    $("#panel").hide(); 

    $('.login').toggle(
    function() 
    { 
     $('#panel').animate({ 
     height: "150", 
     padding:"20px 0", 
     backgroundColor:'#000000', 
     opacity:.8 
}, 500); 
    }, 
    function() 
    { 
     $('#panel').animate({ 
     height: "0", 
     padding:"0px 0", 
     opacity:.2 
     }, 500); 
    }); 
}); 

Esto está trabajando muy bien, pero necesito para ampliar la funcionalidad un poco. También quiero manipular de manera similar las propiedades de otro div en sincronización con el #panel div. Traté de agregar dos funciones más relacionadas con el div secundario, pero acabo de obtener un alternar de 4 fases ... jaja! ¡Perdona mi ignorancia!

Gracias chicos!

+0

¿Por qué no puede agregar el código para manipular esta segunda DIV dentro de las dos primeras funciones? ¿Me estoy perdiendo de algo? –

+0

¡No, me faltaba! Soy un jodido novato. –

Respuesta

49
$('.login').toggle(
    function(){ 
     $('#panel').animate({ 
      height: "150", 
      padding:"20px 0", 
      backgroundColor:'#000000', 
      opacity:.8 
     }, 500); 
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
    }, 
    function(){ 
     $('#panel').animate({ 
      height: "0", 
      padding:"0px 0", 
      opacity:.2 
     }, 500);  
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
}); 
+0

Ahh ... ¡No puedo creer que me haya perdido eso! ¡Muchas gracias! –

+2

Esta función está obsoleta a partir de JQuery 1.8 y eliminada en JQuery 1.9. http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

6

no creo que la adición de dos funciones dentro de la función de palanca funciona para un evento click registrado (A menos que me falta algo)

Por ejemplo:

$('.btnName').click(function() { 
top.$('#panel').toggle(function() { 
    $(this).animate({ 
    // style change 
    }, 500); 
    }, 
    function() { 
    $(this).animate({ 
    // style change back 
    }, 500); 
}); 
+1

Entonces, ¿qué estás tratando de decir? No creo que sea útil dar código que dosent funcione y decir "Oh, doy trabajo". publicar una solución real. – Dementic

+0

Creo que es útil dar un código que dosent funcione y decir "Oh, doy trabajo". – Alireza

+0

Esta función está obsoleta a partir de JQuery 1.8 y eliminada en JQuery 1.9. http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

-7
onmouseover="$('.play-detail').stop().animate({'height': '84px'},'300');" 

onmouseout="$('.play-detail').stop().animate({'height': '44px'},'300');" 

Sólo hay que poner dos paradas: una onmouseover y una onmouseout.

+1

El uso de JavaScript en línea no es un buen patrón. Si ya está usando jQuery use controladores de eventos en su lugar. – akluth