Estoy tratando de utilizar la funcionalidad incorporada de jQuery para crear un "cajón" que se desliza desde detrás de una barra de navegación, empujando el contenido que está debajo del mismo fuera del camino.jQuery slideDown vs. jQuery UI .show ('slide')
Si uso $('#drawer').slideDown()
, el contenido se elimina, pero el contenido no se "desliza hacia abajo". Es más bien una limpieza para revelar el contenido.
Si uso $('#drawer').show('slide',{direction:'up'})
, el contenido se desliza hacia abajo correctamente, pero todo el contenido debajo del elemento se salta antes de que ocurra el efecto.
¿Existe alguna manera de combinar lo mejor de ambos para reproducir el efecto que estoy buscando: un cajón que se deslice hacia afuera, empujando hacia afuera el contenido que está debajo?
Investigué la función .animate()
de jQuery UI, pero la documentación no es útil. Mis crudos esfuerzos para utilizarlo han estado llenos de fracaso.
Y, por si alguien le pregunta, lo siento, no puedo mostrar un ejemplo, pero nos gustaría que funcione como el plugin de jQuery cajón:
http://lib.metatype.jp/jquery_drawer/sample.html
Pero ese plugin no hace todo lo que necesitamos, de lo contrario solo usaría eso (sin usar una lista con viñetas o contenido AJAX). El efecto es lo que queremos, sin embargo.
ACTUALIZACIÓN: También he intentado esta parte del código a través del plugin de jQuery cajón, pero no animar a todos:
$('#drawer').css({ marginTop: $('#drawer').height() * -1 }).animate({ marginTop: 0 });
Para aclarar, también, esto se llama dentro de una función que OpenDrawer()
se llama así:
$(document).ready(function() {
OpenDrawer();
});
Porque de forma predeterminada se cargará cuando se cargue la página.
Bueno, este no es realmente mi problema tampoco. slideDown() funciona bien, pero en realidad no es "deslizante". Es más un efecto de "barrido". Esto está muy bien para muchos propósitos, pero quiero que el contenido parezca deslizarse hacia abajo, no para parecer "revelado". –
Ese enlace que mostró (http://lib.metatype.jp/jquery_drawer/sample.html) está usando animate. Lo publicaré arriba. – Metropolis
Eso está más cerca, pero creo que es la parte incorrecta del código de jQuery Drawer. Eso es para cerrar el cargador una vez que se haya cargado el contenido de AJAX. Intenté tomar prestada una línea anterior en el código (ver la pregunta modificada), pero eso no funciona en absoluto. Siento que estoy en el camino correcto, pero todavía no está cerca de funcionar. –