2010-03-11 17 views
1

J'ai une Div qui est de 400px de hauteur avec l'ID "contenu", je fais ensuite un slideToggle sur la Div, charge des données dans la Div d'une hauteur variable, par exemple. 200px, puis faites un autre slideToggle. Ce que je reçois est la diapositive d'expansion à 400px, puis revenir à 200px. Et la même chose dans le sens inverse, en passant à 200px, puis passer à 400px.jQuery lisse coulissant DIV hauteur

Ceci est mon code:

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

Je pensais que je pouvais faire quelque chose comme ça, qui glisserait le contenu Div, charger les données, puis après son chargement coulissant vers le bas. Cela ne saute pas comme la méthode ci-dessus, mais c'est assez saccadé pour une raison quelconque. Est-ce que quelqu'un peut me dire s'il y a une meilleure façon de le faire pour que je puisse le faire glisser en douceur?

+0

Quelle version de jQuery utilisez-vous? –

+0

Désolé, j'utilise jQuery version 1.4.2. – StuR

+0

les guillemets simples manquants après le data.php est juste dans cette question, non? pas dans le code actuel .. –

Répondre

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

Ce produit les meilleurs résultats.

4

J'ai eu un problème similaire. J'ai été en mesure de corriger ce problème en définissant la hauteur div avant de glisser vers le haut.

Exemple:

$("#myDiv").height($("#myDiv").height()); 
$("#myDiv").slideUp();