2010-11-19 2 views
0

J'ai une fonction de recherche de chargement des résultats avec ajax et montre les résultats en utilisant une animation de diapositive. Fonctionne très bien! Mais seulement la première fois malheureusement, la deuxième fois (et plus) l'animation glisser vers le bas ne fonctionne pas.L'animation de diapositives de l'interface utilisateur jQuery avec la correction de hauteur ne fonctionne que la première fois

S'il vous plaît jeter un oeil ici: http://jsfiddle.net/e4sQh/4/

La recherche effectuée is'nt il et aucune donnée ajax est chargé, mais vous obtenez le point. Merci de votre aide!

Répondre

0

Il est parce que votre réglage de la hauteur à 0 est à l'intérieur de votre if chèque (ce qui est vrai que la première fois) ici:

// get the original height 
    if(!height){ 
    // get original height 
    height = $el.show().height(); 
    // update the height 
    $el.data("originalHeight", height); 
    // if the element was hidden, hide it again 
    if(!visible) $el.hide().css({height: 0}); 
    } 

Il doit être déplacé à l'extérieur comme celui-ci:

// get the original height 
    if(!height){ 
    // get original height 
    height = $el.show().height(); 
    // update the height 
    $el.data("originalHeight", height); 
    } 
    // if the element was hidden, hide it again 
    if(!visible) $el.hide().css({height: 0}); 

De cette façon, il cache chaque fois correctement, you can test it out here.

+0

parfait, merci! –

0

Remplacer

slideToggle('#results',true); // inside hideLoading() 

avec

content.slideDown(); 
0

Je pense que cette partie est mal

if(!height){ 
    // get original height 
    height = $el.show().height(); 
    // update the height 
    $el.data("originalHeight", height); 
    // if the element was hidden, hide it again 
    if(!visible) $el.hide().css({height: 0}); 
    } 

Vous montrez élément pour obtenir sa hauteur, il ne glisse pas comme il est visible!

Vous devez utiliser la méthode css() pour définir position:absolute, visibility:hidden et display:block.

Quoi qu'il en soit JQuery méthode qui fournit remplacer votre fonction, jetez un oeil sur slides

Questions connexes