INFO BULLE NON DESTRUCTIVE

jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 - 30 mars 2010 à 03:25
jck860 Messages postés 2 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 21 novembre 2011 - 21 nov. 2011 à 19:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51526-info-bulle-non-destructive

jck860 Messages postés 2 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 21 novembre 2011
21 nov. 2011 à 19:33
Oui, j'avais bien vu le commentaire à cette ligne mais je suis une vraie bille en javascript...
J'ai mis des signes moins les chiffres devant mais le navigateur n'a pas trop aimé !
Je vais faire d'autres essais et si je ne trouve pas je m'en remettrai à son créateur ;)

Merci en tout cas pour la rapidité de la réponse.
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
21 nov. 2011 à 13:58
Oui c'est tout à fait possible :)
ligne 70 : // Détection de la souris et positionnement de la Bulle
tu peux là jouer sur le point d'origine de la bulle (coin gauche haut)
jck860 Messages postés 2 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 21 novembre 2011
19 nov. 2011 à 22:55
Pas mal du tout ton script !
Une question : y a-t-il possibilité de faire apparaître l'infobulle à gauche plutôt qu'à droite ?
Merci d'avance.
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
23 juin 2010 à 01:54
ah effectivement .. pas pensé à ça :\
\/me ajoute todo list
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
23 juin 2010 à 01:37
En effet, il faudrait que le code vérifie si la bulle ne va pas plus bas que la hauteur de la page (offsetHeight), dans ce cas, il faudrait le mettre plus haut (si vous me suivez... ^^)
cs_tiralia Messages postés 1 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 22 juin 2010
22 juin 2010 à 14:03
Je note un petit problème sur..... IE^^
je suis sous ie8 et il y a un soucis quand la zone qui doit afficher l'infobulle se trouve en bas de page et qu'on doit descendre l'ascenseur.

l'info bulle n'est plus la et ie se comporte étrangement....
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
6 juin 2010 à 15:07
ben là aussi c'est customisable via css ;)

et puis ça évite de charger une **grosse** lib javascript quand on veut faire qu'une ou deux choses ;o)
moktarace Messages postés 2 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 17 novembre 2008
4 juin 2010 à 15:52
Toujours utile ce genre de p'tit code. Sinon, JSTooltip fais ça très bien, avec les infobulles customisables en CSS ;)
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
12 avril 2010 à 10:27
j'avais pas rermarqué un "bug" :\
La zone conclusion des posts de sources "brise" les liens ...
le lien d'exemple est : http://dev.blinckers-groups.com/scriptJS/infos_bulles_ver_2.html
j'ai voulu modifier la source (croyant que j'avais foiré un copié/collé de lien) mais dans la sources on a bien 'bulle' hors là une "coupure" se créé ('bul le')
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
6 avril 2010 à 09:09
Ma note a pas été prise en compte !
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
6 avril 2010 à 09:08
Perfect. Une chose bien utile que voilà.
green68 Messages postés 14 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 16 décembre 2008
6 avril 2010 à 02:45
Code simple mais efficace.
Fait exactement ce que l'on attend de lui sans prétention.
Bonne continuation !
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
30 mars 2010 à 21:32
kazma "mais si on utilise une class unique si je veut attribuer un style different a chaque element je ne peut le faire a moins d'ajouter un id ou une balise style ?" <-- tout d'abord une CLASS a pas volonté à être unique ... sinon on utilise un ID ensuite rien ne t'interdit d'utiliser class="class1 class2 class3..."

PetoleTeam "on n'utilise pas les caractères étendues mais les entités HTML..." <-- rien compris ?

"
- le fait d'écrire
window.onload=function(){
...etc...
}
plantera toutes les autres fonctions qui peuvent être associées au onload, il est préférable d'avoir recours à
addEventListener
ou
attachEvent"

dans le contexte là .. je vois pas trop le problème .. m'enfin ..
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
30 mars 2010 à 19:59
Bonjour,
trois petites choses
- lorsque l'on met <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
on n'utilise pas les caractères étendues mais les entités HTML...
- dans la function move(e) l'utilisation de
if (navigator.appName!="Microsoft Internet Explorer") {
pour repérer le navigateur n'est pas top, il me semble que le test de l'existence du paramètre e est plus judicieuse...
- le fait d'écrire
window.onload=function(){
...etc...
}
plantera toutes les autres fonctions qui peuvent être associées au onload, il est préférable d'avoir recours à
addEventListener
ou
attachEvent

voilou...
;O)
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
30 mars 2010 à 19:50
mais si on utilise une class unique si je veut attribuer un style different a chaque element je ne peut le faire a moins d'ajouter un id ou une balise style ?
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
30 mars 2010 à 16:17
ah ben merci :)
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
30 mars 2010 à 16:12
ok ok , autant pour moi, j'avais pas pensé aux aveugle :(
Te met une note parce que tas bien pigé ton sujet ;) !
Pas 10 car le code reste assé simple!
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
30 mars 2010 à 15:57
Kimjoa ben non :P
je m'explique ;o) :
tu dis : "Pourquoi ne pas réutiliser getElementsByClassName pour récupérer les info-bulles?" <-- c'est exactement ce que fait mon code.
"Sinon je suis pas sur que d'utilisé title soit le plus pertinent. " <-- ça évite de "casser" l'html "normal" .... si un non-voyant vient sur le site ... comment tu lui passes tes infos bulles ? ... là le but n'est pas de mettre de l'html dans des infos bulle... mais de "styler l'info bulle" ... Tu me diras : "dans ce cas pourquoi ne pas laissser faire l'attribut title ?" <-- parceque justement mon code est pour décorer une info bulle (celle par défaut étant à la fois relativement lente de réaction et aussi pas très "jolie") là ce qu'il se passe c'est que le code HTML n'est pas détruit dans sa sémantique. Le fait aussi qu'en cas de javascript désactiévé, les informations restent. d'où le titre : INFO-BULLE-NON-DESTRUCTIVE.
"...mais peux-être utiliser des suffix au id ....." <-- justement en utilisant un getElementsByClassName, celà évite de se torturer la tête à attribuer des id (donc >Unique<) là simplement si on veut utiliser l'infobulle personnalisé, il suffit d'appliquer une class ... .
Enfin voilà quoi :)
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
30 mars 2010 à 14:21
bah si j'ai compris :)
C'est juste que de généré le contenue des info-bulle via l'attribut title c'est pas super pratique, surtout si on veux mettre du HTML.
Sinon getElementsByClassName servirait pas a grand chose, mais peux-être utiliser des suffix au id .....
McPeter Messages postés 134 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 avril 2013
30 mars 2010 à 14:03
jdmcreator <-- merci pour la suggestion de tester si getElementsByClassName est implanté ou non (au départ je ne l'ai ajouté que pour IE)
Kimjoa <-- je crois que tu n'as pas du tout compris mon code :)
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
30 mars 2010 à 13:33
la remarque de jdmcreator est tout à fait juste, faut d'abord testé l'existence de la fonction.
Sinon je suis pas sur que d'utilisé title soit le plus pertinent. Beaucoup de script d'info-bulle l'utilise, mais pour y mettre du html, c'est galère faut tout protéger.
Pourquoi ne pas réutiliser getElementsByClassName pour récupérer les info-bulles?
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
30 mars 2010 à 03:25
Utilisation de la classe pour gérer les éléments... j'aime bien :)

Mais sache que sur les nouveaux navigateurs, document.getElementsByClassName est déjà implanté. Peut-être testé la fonction avant afin d'éviter de faire travailler pour rien le navigateur.

Quelque chose du genre :

if(!document.getElementsByClassName){}

Mais je ne suis pas sûr si cela fonctionne ^^

En tout cas, un peu simpliste mais bon travail tout de même =)
Rejoignez-nous