Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

This.GetElementsByTagName()?

4 réponses
Avatar
samuel
bonjour!
j'essaie de cr=E9er une infobulle..

CSS
.infobulle{position: absolute;visibility:hidden;overflow:visible;

JAVASCRIPT

function infobulle(b,event){
a=3Db.getElementByTagName("div")[0];
a.style.visibility =3D 'visible';
a.style.left =3D event.clientX+10+"px";
a.style.top =3D event.clientY+20+"px";}
function infobulle_cache(){document.getElementById
('infobulle').style.visibility =3D 'hidden';}

HTML

<a href=3D"#" onmousemove=3D"infobulle(this,event);"
onmouseout=3D"infobulle_cache();"><div class=3D"infobulle">fflmjefrmju</
div>calacocouu</a>

seulement, =E7a ne fonctionne pas.. j'arrive pas =E0 r=E9cuperer le premier
div contenu dans mon lien
Je pense que cest pas super compliqu=E9 =E0 faire mais je ne m'y connais
pas trop en javascript..

j'ai aussi essay=E9
var a=3Devent.currentTarget || event.srcElement;
a=3Da.getElementByTagName("div")[0];

et simplement
a=3Dthis.getElementByTagName("div")[0];

mais =E7a se fait pas comme =E7a on dirait..
merci d'avance!

4 réponses

Avatar
Mickaël Wolff
samuel a écrit :

function infobulle(b,event){
a=b.getElementByTagName("div")[0];


getElementsByTagName et non getElementByTagName

<a href="#" onmousemove="infobulle(this,event);"
onmouseout="infobulle_cache();"><div class="infobulle">fflmjefrmju</
div>calacocouu</a>


Tu n'as pas le droit d'insérer un élément div dans un élément a
<http://www.w3.org/TR/html4/struct/links.html#edef-A>

Je pense que cest pas super compliqué à faire mais je ne m'y connais
pas trop en javascript..


Il faut que tu utilises un débogueur, tel que l'excellent Firebug.
Sinon tu vas longtemps tourner en rond.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>
Avatar
samuel
On 12 juil, 21:05, Mickaël Wolff wrote:
samuel a écrit :

> function infobulle(b,event){
> a=b.getElementByTagName("div")[0];

   getElementsByTagName et non getElementByTagName

> <a href="#" onmousemove="infobulle(this,event);"
> onmouseout="infobulle_cache();"><div class="infobulle">fflmjefrmju< /
> div>calacocouu</a>

   Tu n'as pas le droit d'insérer un élément div dans un él ément a
<http://www.w3.org/TR/html4/struct/links.html#edef-A>




ok, alors qque chose comme ça: <div><a>infobulle ici!</a><div
class="infobulle">contenu</div></div>
et this.parentNode.??? la suite ça revient au même.. last child marche
pas... :(

> Je pense que cest pas super compliqué à faire mais je ne m'y connai s
> pas trop en javascript..

   Il faut que tu utilises un débogueur, tel que l'excellent Firebu g.
Sinon tu vas longtemps tourner en rond.



firebug m'aide pas beaucoup pour savoir si ma syynthaxe est bonne..


--
Mickaël Wolff aka Lupus Michaelishttp://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>




tant pis jvais écrire ça comme ça:
<script type="text/javascript">
window.onload = document.write("<span id='infobulle'
style='position:absolute;visibility:hidden;padding:3px;'>&nbsp;</
span>");
function infobulle(corps,event){
var a=document.getElementById('infobulle');
a.style.visibility = 'visible';
a.innerHTML = corps;
a.style.left = event.clientX+10+"px";
a.style.top = event.clientY+20+"px";}
function infobulle_cache(){document.getElementById
('infobulle').style.visibility = 'hidden';}
</script>

ça m'embête juste parce que jvais devoir échapper tout les contenus,
notamment les slashs, et les passer en paramètre, au lieu d'avoir un
joli div bien propre après mon lien..
Avatar
Pascal PONCET
samuel a écrit :
bonjour!



Bonjour,

j'essaie de créer une infobulle..



Pourquoi pas ! Si la gestion par défaut de l'attribut "title" n'est pas
satisfaisante...

Je pense que cest pas super compliqué à faire mais je ne m'y connais
pas trop en javascript..



Alors, mieux vaut s'inspirer du "déjà-fait" :
http://www.google.fr/search?q=infobulle+javascript

Sinon, il y a les méga-bibliothèques genre jQuery et consort, dont les
multiples extensions font tout ça et bien plus encore, mais au prix d'un
code "poids lourd" et d'un sur-langage propriétaire à apprendre.

merci d'avance!



Pas de quoi, @+,
Pascal
Avatar
samuel
On 13 juil, 12:54, Pascal PONCET
wrote:
samuel a écrit :

> bonjour!

Bonjour,

> j'essaie de créer une infobulle..

Pourquoi pas ! Si la gestion par défaut de l'attribut "title" n'est pas
satisfaisante...

> Je pense que cest pas super compliqué à faire mais je ne m'y connai s
> pas trop en javascript..

Alors, mieux vaut s'inspirer du "déjà-fait" :http://www.google.fr/sea rch?q=infobulle+javascript

Sinon, il y a les méga-bibliothèques genre jQuery et consort, dont le s
multiples extensions font tout ça et bien plus encore, mais au prix d'u n
code "poids lourd" et d'un sur-langage propriétaire à apprendre.

> merci d'avance!

Pas de quoi, @+,
Pascal



merci à vous.
en fait si, j'ai besoin que le div se trouve pas loin du lien, et
d'aller le chercher..
je préfererai pas utiliser un truc trop lourd.. enfin, je vais voir.
en attendant si qqun trouve la solution! :)