11548 sujets
Le problème n'est pas vraiment les infobulles mais plus le fait que tu ajoutes du contenu qui n'est accessible que par JS. Le mieux serait déjà de faire l'action au clic sur un lien, ce qui permet de faire la requête avec PHP et non JS pour la rendre accessible à tout le monde.
Une fois la partie PHP effectuée, tu peux soit te contenter de planquer le contenu via CSS et l'afficher au survol, soit utiliser JS pour la même chose, soit pousser plus loin en faisant la requête via Ajax ce qui permet de ne réactualiser que la partie souhaitée.
Une fois la partie PHP effectuée, tu peux soit te contenter de planquer le contenu via CSS et l'afficher au survol, soit utiliser JS pour la même chose, soit pousser plus loin en faisant la requête via Ajax ce qui permet de ne réactualiser que la partie souhaitée.
Justement je ne sais pas le formater pour le mettre dans l'infobulle.
Actuellement, je déclenche l'ouverture de la popup en cliquant sur une donnée affichée sous forme de lien, cette donnée est passée en paramètre à la requête. Ensuite, j'affiche le tableau issu de la requête dans une popup. Le tout en PHP.
Je voudrais faire la même séquence mais en remplaçant la popup par une infobulle.
Je dois me déconnecter. Je consulterai ta réponse demain.
Bonne nuit et merci de prendre le temps de réfléchir à mon problème.
Modifié par angus42 (14 Oct 2006 - 22:54)
Actuellement, je déclenche l'ouverture de la popup en cliquant sur une donnée affichée sous forme de lien, cette donnée est passée en paramètre à la requête. Ensuite, j'affiche le tableau issu de la requête dans une popup. Le tout en PHP.
Je voudrais faire la même séquence mais en remplaçant la popup par une infobulle.
Je dois me déconnecter. Je consulterai ta réponse demain.
Bonne nuit et merci de prendre le temps de réfléchir à mon problème.
Modifié par angus42 (14 Oct 2006 - 22:54)
hum... euh... Lorsque tu fais une requête en cliquant sur le lien, tu obtiens du (X)HTML, ici un tableau contenu dans une infobulle (div), et tu inclus le tout dans ta page. Il n'y a plus qu'à mettre tout ça en forme via CSS pour obtenir ce que tu souhaites lorsque l'infobulle est affichée. Donc, jusque là, rien d'anormal... Il n'est question que de PHP, (X)HTML et CSS. Ensuite, tu fais un script JS qui planque l'infobulle puis qui, au survol du lien, affiche l'infobulle et qui, lors d'un onmouseout sur ce même lien, la fait disparaître...
Pour le rollover JS, un exemple est donné ici.
C'est le plus simple pour ce que tu cherches à faire.
Après, il y a bien Ajax pour éviter le rechargement complet de la page mais est-ce bien utile ? Pour un petit ajout de contenu, ce que je t'ai dit auparavant suffit amplement. Ajax se justifie dès lors que le contenu est réellement important, donc pas vraiment pour une infobulle basique.
Je te donne malgré tout un exemple de ce que ça donnerait via Ajax.
En gros, la différence majeur avec Ajax est que l'infobulle est ajoutée dynamiquement au survol du lien. Si l'objet XHR n'est pas supporté, comme je l'ai volontairement fait pour Opera (because Opera + JS -> /me
), le tableau est ajouté au clic sur le lien.
J'espère que tu comprendras en regardant le code JS que je ne vais pas prendre le temps de tout expliquer... J'ai quand même d'autres choses à faire que de passer de nombreuses heures pour une seule et même personne, hein...
Pour le rollover JS, un exemple est donné ici.
C'est le plus simple pour ce que tu cherches à faire.

Après, il y a bien Ajax pour éviter le rechargement complet de la page mais est-ce bien utile ? Pour un petit ajout de contenu, ce que je t'ai dit auparavant suffit amplement. Ajax se justifie dès lors que le contenu est réellement important, donc pas vraiment pour une infobulle basique.
Je te donne malgré tout un exemple de ce que ça donnerait via Ajax.
En gros, la différence majeur avec Ajax est que l'infobulle est ajoutée dynamiquement au survol du lien. Si l'objet XHR n'est pas supporté, comme je l'ai volontairement fait pour Opera (because Opera + JS -> /me

J'espère que tu comprendras en regardant le code JS que je ne vais pas prendre le temps de tout expliquer... J'ai quand même d'autres choses à faire que de passer de nombreuses heures pour une seule et même personne, hein...
