Agregando un poco más de información:
jQuery implementa "encadenamiento de métodos", lo que significa que puede encadenar llamadas de método en el mismo elemento. En el primer caso:
$("#mycontent").append(html).fadeIn(999);
estaría aplicando la fadeIn
llamada al objeto que es el objetivo de la cadena de métodos, en este caso #mycontent
. No es lo que quieres.
En la respuesta (genial) de @ icktoofay tienes:
$(html).hide().appendTo("#mycontent").fadeIn(1000);
Esto básicamente significa, crear html
, configurarlo como oculto por defecto, agregarlo #mycontent
y luego desvanecerlo. El objetivo de la cadena de métodos ahora es en hmtl
lugar de #mycontent
.