Principe même d'ajax...

Eckmoule Messages postés 4 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 21 août 2008 - 4 août 2008 à 17:44
Eckmoule Messages postés 4 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 21 août 2008 - 4 août 2008 à 18:06
Bonjour,

Je débute en Ajax et ne possédant que de petites bases en javascript j'avoue nager un peu pour le moment ^^. J'utilise la bibliothèque jquery mais j'ai beau lire nombres de tutoriel je continue a me poser des questions sur le principe même de fonctionement d'Ajax.

Ce que je fait et qui me parait pas vraiment intéréssant mit a par le rendu qui il faut l'avouer est sexy est d'afficher toute mes div sur ma page mais de les dissimuler grace au .hide(). Ensuite a l'aide de la capture d'événement click ou autre j'affiche (.show) ou je re dissimule mes div, ce qui donne un rendu dont je suis satisfait.

Le problème est que cette facon de procéder ne me parait pas du tout optimal puisque le navigateur doit charger toute les div aux premier chargement ce qui est particulierement lourd, de plus si l'utilisateur rafraichit sa page il est possible que pendant quelques seconde toutes les div s'affichent en simultanée avant que les .hide() ne fassent effet.

Je pense donc que ma façon de procéder n'est pas du tout la bonne et qu'il doit éxister un moyen d'intégrer dynamiquement des div dans la page sans quelle soit chager et cacher au préalable.

Je ne sais pas si j'ai été très clair ... J'espere que quelqu'un arrivera a décoder mon charabia et éclairer ma lanterne.

Merci d'avance.

3 réponses

XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
4 août 2008 à 17:54
"il est possible que pendant quelques seconde toutes les div s'affichent en simultanée avant que les .hide() ne fassent effet."

Suffit de les cacher dès le chargement du DOM en spécifiant l'attribut CSS "display" à "none". Exemple:

blabla...

Maintenant, tu peux effectivement récupérer le contenu de tes divs via Ajax. Exemple :

$.get("page.html", function(data){
$('maDiv').innerHTML = data.responseText;
});
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
4 août 2008 à 17:55
Bonjour,

voilà pour les bases d'Ajax : http://toutjavascript.com/savoir/xmlhttprequest.php3
Concernant ta réflexion sur l'utilisation d'ajax : dans ton cas je dirais que c'est tout à fait approprié !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
0
Eckmoule Messages postés 4 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 21 août 2008
4 août 2008 à 18:06
Merci a vous pour ces réponses très rapides.

Je voulais essentiellement savoir si je ne faisais pas complètement fausse route en jouant uniquement avec les hide(), show(). Cela reste quand même très lourd pour le navigateur :s. Par exemple il y a dans mon site nombre d'affichage de google map. Devoir toutes les afficher pour les cachées et ensuite et ne montrées que celle que l'utilisateur demande est particulierement lourd.

Merci beaucoup.
0
Rejoignez-nous