Bonjour à tous
Je rencontre actuellement un petit problème sur le développement d'une appli web en J2EE. Grosso modo, j'ai une page web splitée en deux parties, sous la forme d'un sommaire dans la partie gauche et des infos ds la partie droite. Comme on peut le voir sur l'image ci-dessous, le manuel sélectionné est sur fond bleu, et quand on clique sur le lien de gauche pour l'ouvrir, j'envoie son id en paramètre et je calcule toutes les infos, je cherche dans des fichiers xml cet ID, et je fais mes traitements XSL pour la mise en forme HTML. Pour des soucis métier, je charge les 20 manuels précédents et les 20 suivants. Pour des soucis de rapidité de chargement de page, je ne charge que l'id qui m'interesse, mais, une fois qu'il est chargé, les manuels suivants (ceux en dessous du bleu) se chargent au fur et à mesure en ajax, donc le scroll dû à l'insertion d'élements html ne me pose pas problème.
Pour le moment, j'ai posé une règle qui me permet de mettre des boutons pour les 20 précédents (ça affiche le manuel quand on clique dessus), et des chargements ajax auto pour les 20 suivants, étant donné que lorsque l'on clique sur le bouton au dessus du cadre, on perd le focus du manuel sélectionné.
Il faut savoir également qu'au chargement de la page, je fais un traitement en jquery qui me scroll directement sur le cadre bleu et qui me le met en haut de la page comme on peut le voir ci-dessous.
Quand on scroll vers le haut, on aperçoit ceci :
Les boutons pour afficher les autres lorsque l'utilisateur le demande, en passant l'id du manuel en paramètre et en allant chercher dans servlets, des fichiers xml, du sql, etc.., ce qui me renvoit un flux HTML que j'intègre à un objet HTML du style : monObjetblabllabla.innerHTML = monFluxHtml
Mon problème est le suivant : pour des raisons métier, j'aimerais simplement affecter à mes 20 précédents le même traitement que celui affecté aux manuels suivants, c'est-à-dire qu'ils se chargent automatiquement, mais sans que les chargements et donc les inclusions de blocs HTML ne dérangent ma consultation en cours, et donc ne fassent pas scroller la page, ou ne fassent pas bouger et perdre le focus de mon carré bleu en cours (manuel) de consultation. Pour cela, j'avais pensé, avant d'afficher les manuels précédents, de récupérer le flux HTML, de calculer la hauteur de chacun d'eux en pixels, et par exemple de faire un div de cette taille adéquate, adapté à chacun, pour que quand le chargement se fasse et que le flux HTML soit affiché, ça ne fasse pas scroller et perdre le contrôle du manuel en cours à cause de l'inclusion de blocs HTML.
Je ne vois pas comment faire, je voudrais savoir si déjà c'est réalisable, et si oui, de quelle manière ?
Merci beaucoup pour votre (future) aide
Anthony
Partager