2009-07-02 9 views
0

J'ai un site Web sur lequel je travaille. J'utilise jquery pour animer et afficher du contenu. Ce contenu est stocké dans vars. J'ai besoin de savoir comment charger le contenu avant de l'afficher. Pour plus de clarté, vous cliquez sur un lien, une fenêtre "chargement ..." apparaît, et une fois qu'il charge tout, il disparaît et disparaît dans le contenu chargé qui est stocké dans vars.Comment précharger le code HTML dans un javascript var

Merci

+1

um, une demande de paiement ajax? C'est une question assez vague ... – annakata

+0

ya, demandez-vous comment utiliser ajax? ou autre chose? – seanmonstar

Répondre

0

Vous cherchez comment demander le contenu HTML via AJAX, savoir quand il est terminé, puis l'insérer dans le DOM? Si oui, la méthode load de jQuery peut être ce que vous recherchez.

Steve

0

événement AJAX ne vous dira pas combien de pour cent a été chargé, en fait, dans la plupart des cas, il n'a aucune idée de combien de temps est la réponse sera. Mais il vous informera lorsque la réponse est terminée ou qu'une erreur est survenue.

Jetez un oeil à la référence officielle AJAX of JQuery. Ma réponse originale était fausse, parce que je suppose que vous avez déjà les données. Un cas d'utilisation simplifiée pour votre demande ajax serait:

> Initiate the Request, and set the handler for ajax complete (thru something like $.Ajax) 
> Hide the content pane and show the loader 
> When ajax complete, you display your content, and hide the loader 

Ce qui suit est la réponse originale.


Je pense que vous parlez de quelque chose qui est déjà dans la mémoire de l'ordinateur client, mais que vous voulez afficher tout de suite une fois qu'il a terminé le chargement. Cela ressemble à ces "double buffering" dans les médias hors ligne.

Ce que vous pouvez faire, est:

// Display the loading screen, you can put any animation 
$("#loader").fadeIn(); 
$("#contentPlaceHolder").hide(); 
// attach the DOM of the contents to placeholder. 
$("#contentPlaceHolder").append(CONTENTS); 
// .... similar statements follows. 
// and finally.. 
$("#contentPlaceHolder").show(); 
$("#loader").fadeOut(); 

+0

Merci beaucoup. Juste une autre question, est-ce que je peux trouver le pourcentage qui a été chargé, alors quand il atteint 100%, je peux fondre le dialogue du chargeur et dans le contenu –

+0

Tout comme les gars ci-dessus écrivent, vous devez nous dire quelle méthode vous allez charger votre contenu. Est-ce d'AJAX? Si AJAX, vous ne pouvez probablement savoir si le chargement est terminé plutôt que le pourcentage de chargement. – xandy