28-03-2010, 04:58 PM
Ces cadres sont communément appelés des "tooltips".
Les principaux frameworks JS ont des outils pour les gérer très simplement. Mais si tu poses la question c'est que tu dois pas en utiliser. Quand tu dis que le contenu est dynamique, ça veut dire que si je survole un élément à un instant t, je vais avoir un contenu, et qu'à l'instant t+1 je peux en avoir un autre ? Si oui, ou si le contenu des tooltip est très lourd, le chargement du contenu des tooltip en Ajax est peut-être justifié, mais je pense qu'il vaut mieux les précharger, en les mettant dans un attribut custom, par exemple
Sinon, si tu dois les charger en Ajax, tu te fais une fonction côté client générique avec un script php de l'autre côté et qui sont en mesure de te retourner tous les contenus dont tu as besoin. T'as pas à avoir une fonction dont le nombre de paramètres varie.
Ensuite, il faut aussi voir si à chaque survol, la requête Ajax se relance, ou si c'est le contenu récupéré la 1ère fois qui est affiché. Mais dans ce cas-là, mieux vaut précharger toutes les tooltips. Et dans le cas contraire, ça risque de faire beaucoup de requêtes Ajax tout ça...
Enfin, pour ce qui est de l'affichage et du stockage des infos, en général ces infos sont stockés dans un attribut, et sont affichés dans un unique div dont le contenu change en fonction de ce qui est survolé. Le div est unique car, sauf cas particuliers, on ne survole qu'un élément à la fois, pas la peine donc d'avoir plusieurs calques pour afficher différentes tooltips. Seul le contenu de la tooltip et sa position changent.
Les principaux frameworks JS ont des outils pour les gérer très simplement. Mais si tu poses la question c'est que tu dois pas en utiliser. Quand tu dis que le contenu est dynamique, ça veut dire que si je survole un élément à un instant t, je vais avoir un contenu, et qu'à l'instant t+1 je peux en avoir un autre ? Si oui, ou si le contenu des tooltip est très lourd, le chargement du contenu des tooltip en Ajax est peut-être justifié, mais je pense qu'il vaut mieux les précharger, en les mettant dans un attribut custom, par exemple
Code :
<a data-tooltip="Ma tooltip">xxx</a>
Sinon, si tu dois les charger en Ajax, tu te fais une fonction côté client générique avec un script php de l'autre côté et qui sont en mesure de te retourner tous les contenus dont tu as besoin. T'as pas à avoir une fonction dont le nombre de paramètres varie.
Ensuite, il faut aussi voir si à chaque survol, la requête Ajax se relance, ou si c'est le contenu récupéré la 1ère fois qui est affiché. Mais dans ce cas-là, mieux vaut précharger toutes les tooltips. Et dans le cas contraire, ça risque de faire beaucoup de requêtes Ajax tout ça...
Enfin, pour ce qui est de l'affichage et du stockage des infos, en général ces infos sont stockés dans un attribut, et sont affichés dans un unique div dont le contenu change en fonction de ce qui est survolé. Le div est unique car, sauf cas particuliers, on ne survole qu'un élément à la fois, pas la peine donc d'avoir plusieurs calques pour afficher différentes tooltips. Seul le contenu de la tooltip et sa position changent.