Pergunta

Eu tenho uma div com 400px de altura com o ID "Conteúdo", faço um slidetoggle na div, carrego alguns dados na div de uma altura variável, por exemplo, 200px e depois faço outro slidetoggle. O que recebo é o slide em expansão para 400px e depois voltar para 200px. E o mesmo ao contrário, expandindo para 200px, depois pule para 400px.

Este é o meu código:

$('#content').slideToggle(600, function() {
    $("#content").load('data.php').slideToggle(600);
});

Por isso, pensei que poderia fazer algo assim, que deslizaria para cima da div, carregaria os dados e, depois de serem carregados, deslizaria para baixo. Isso não pula como o método acima, mas é bastante espumoso por algum motivo.

$('#content').slideUp(600, function() {
    $("#content").load('data.php', function() {
        $("#content").slideDown(600);
    });
});

Alguém pode me dizer se existe uma maneira melhor de fazer isso para que eu possa deslizá -lo sem problemas?

Foi útil?

Solução 2

$('#content').slideUp(600, function() {
    $("#content").load('data.php', function() {
        $("#content").slideDown(600);
    });
});

Isso produz os melhores resultados.

Outras dicas

Eu tive um problema parecido. Consegui corrigir esse problema definindo a altura da div antes de deslizar para cima.

Exemplo:

$("#myDiv").height($("#myDiv").height());
$("#myDiv").slideUp();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top