2010-10-21 18 views
6
$('#container').prepend("<ul><li>Stuff</li></ul>').hide().slideDown(); 

Quiero que el NUEVO UL se deslice hacia abajo. pero lo anterior se desliza por todo el contenedor # ..jQuery Anteponer un DIV deslizándolo hacia abajo

¿Cómo puedo anteponer un elemento a la parte superior y luego deslizarlo hacia abajo ... un poco como Twitter solía mostrarle su nuevo tweet.

Gracias.

Respuesta

22

puede intentar utilizar esta sintaxis en su lugar:

$('<ul><li>Stuff</li></ul>').prependTo('#container').hide().slideDown(); 

Por supuesto, si usted está utilizando una lista como la que podría ser útil para construirlo elemento por elemento de esta manera:

var ul = $('<ul />').prependTo('#container'); 
$('<li />').appendTo(ul).text('Incoming!').hide().slideDown(); 
+0

Gracias, el primero funcionó muy bien. ¡Gracias! ¿Por qué construirlo por elemento, eso es más código? – user479959

+0

@user No es realmente más código en el sentido de que si vas a hacer esto para muchos elementos, rápidamente se convierte en un desastre de concatenaciones de cadenas. El segundo método es útil para administrar cosas más complejas. –

+5

Haría un pequeño cambio y movería el '.hide()' antes de prependTo/appendTo. Solo para evitar mostrar minutos antes de ocultar (en motores JS más lentos) ... –

Cuestiones relacionadas