Ter efeitos no acréscimo não funcionará porque o conteúdo exibido pelo navegador é atualizado assim que a div é anexada. Então, para combinar as respostas de Mark B e Steerpike:
Denomine a div que você está anexando como oculta antes de realmente anexá-la. Você pode fazer isso com script CSS embutido ou externo ou apenas criar a div como
<div id="new_div" style="display: none;"> ... </div>
Então você pode encadear efeitos ao seu anexo ( demo ):
$('#new_div').appendTo('#original_div').show('slow');
Ou ( demo ):
var $new = $('#new_div');
$('#original_div').append($new);
$new.show('slow');
.append()
nem precisa de uma string seletora. A ideia ainda está correta. Obrigado, atualizado.A essência é esta:
Isso funciona para mim:
ou:
fonte
'normal'
não é uma sequência adequada de velocidade. deixe em branco para nenhuma transição (aparece imediatamente). use string'fast'
para 200ms ou'slow'
600ms. ou digite qualquer número como$("element").show(747)
(= 747ms) para definir a própria velocidade. consulte os documentos e procure animação / duração.element.slideUp("slow", function(){ element.appendTo(parent).hide(); element.slideDown(); });
Outra maneira ao trabalhar com dados recebidos (como em uma chamada ajax):
fonte
Algo como:
deveria fazer isso?
Edit: desculpe, erro no código e levou a sugestão de Matt a bordo também.
fonte
$('#divid').append('#newdiv').hide().show('slow')
.Quando você anexar ao div, escondê-lo e mostrá-lo com o argumento
"slow"
.fonte
Defina a div anexada como oculta inicialmente por meio de css
visibility:hidden
.fonte
Eu estava precisando de um tipo semelhante de solução, queria adicionar dados em uma parede como o facebook, quando postado, use
prepend()
para adicionar o post mais recente no topo, o pensamento pode ser útil para outras pessoas.o código no ajax.php é
fonte
Por que você simplesmente não esconde, acrescenta e mostra assim:
fonte
É possível mostrar suavidade se você usar Animação. Com estilo, adicione "animation: show 1s" e toda a aparência aparece nos quadros-chave.
fonte
No meu caso:
você pode ajustar seu css com visibilidade: oculto -> visibilidade: visível e ajustar as transições etc transição: visibilidade 1.0s;
fonte