2010-04-15 6 views
7

J'ai un problème de synchronisation lorsque je tente de faire glisser mon div plus d'infos. Ma fonctionnalité souhaitée est que le div glisse à partir du haut une fois que la page a déjà été rendue. Mon problème est que si j'utilise $ (document) .ready() .. l'animation ne se produit pas visiblement.Comment faire pour jQuery glisser une fois que la page a déjà été chargée

Voici mon code:

$(document).ready(function() { 
     $(".MoreInfo").slideDown('slow'); 
    }); 

Si je l'attacher à un autre clic d'élément par exemple, il fonctionne à merveille. Mais je ne suis pas sûr de savoir comment le faire glisser vers le bas une fois la page chargée. Merci!

Répondre

11

J'ai essayé le mélange et correspondant à l'aide:

$(window).load(function() 

et

$(document).ready(function() 

mais n'a pas eu de chance. J'ai fini par utiliser

$(document).ready(function() { 
    $(".MoreInfo").slideUp(1).delay(2000).slideDown('slow'); 

et cela semblait fonctionner. Je pense que cela avait à voir avec l'élément déjà affiché plus que toute autre chose.

1

Vous pourriez essayer d'utiliser

$(window).load(function() 

au lieu de

$(document).ready(function() 

comme certains des éléments que vous essayez de manipuler pourrait ne pas être complètement chargée lorsque $ (document) feux .ready.

0

Peut-être essayer corps onload à la place

$("body").load(function() { 
    $(".MoreInfo").slideDown('slow'); 
}); 

... document.ready se produit dès que le DOM peut être manipulé, pas nécessairement une fois la page affichée - il pourrait être bien avant que la page est affiché. Vous pouvez également essayer de mettre cela sur un appel setTimeout pour permettre un peu de temps

Questions connexes