Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte à
la droite du champ lors du survol de ce dernier. J'ai essayé avec la
position de la souris mais ce n'est pas très fiable, je n'arrive pas à
positionner mon texte exactement à droite du champ (ce n'est pas un
problème pour les champs "normaux" mais pour le select c'est problématique
car mon texte apparait en-dessous dans IE6). Je peux pas utiliser de
constante non plus (genre les champs seraient forcément à 20 px à droite
de la marge gauche) car les champs peuvent être placés un peu n'importe
où. Bref, je commence à sécher, j'ai parcouru un paquet de sites et de
forum et je trouve pas, si quelqu'un a une idée, il me dépannerait bien.
Merci.
Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte à
la droite du champ lors du survol de ce dernier. J'ai essayé avec la
position de la souris mais ce n'est pas très fiable, je n'arrive pas à
positionner mon texte exactement à droite du champ (ce n'est pas un
problème pour les champs "normaux" mais pour le select c'est problématique
car mon texte apparait en-dessous dans IE6). Je peux pas utiliser de
constante non plus (genre les champs seraient forcément à 20 px à droite
de la marge gauche) car les champs peuvent être placés un peu n'importe
où. Bref, je commence à sécher, j'ai parcouru un paquet de sites et de
forum et je trouve pas, si quelqu'un a une idée, il me dépannerait bien.
Merci.
Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte à
la droite du champ lors du survol de ce dernier. J'ai essayé avec la
position de la souris mais ce n'est pas très fiable, je n'arrive pas à
positionner mon texte exactement à droite du champ (ce n'est pas un
problème pour les champs "normaux" mais pour le select c'est problématique
car mon texte apparait en-dessous dans IE6). Je peux pas utiliser de
constante non plus (genre les champs seraient forcément à 20 px à droite
de la marge gauche) car les champs peuvent être placés un peu n'importe
où. Bref, je commence à sécher, j'ai parcouru un paquet de sites et de
forum et je trouve pas, si quelqu'un a une idée, il me dépannerait bien.
Merci.
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le message
de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte à
la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour ceux
qui cherchent, il faut utiliser une fonction récursive pour obtenir la
position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le message
de news: 441fed41$0$20943$636a55ce@news.free.fr...
Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte à
la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour ceux
qui cherchent, il faut utiliser une fonction récursive pour obtenir la
position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le message
de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte à
la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour ceux
qui cherchent, il faut utiliser une fonction récursive pour obtenir la
position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le
message de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte
à la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour
ceux qui cherchent, il faut utiliser une fonction récursive pour obtenir
la position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
et si on a scrollé dans la page c'est-y encore OK ? (IE par exemple)
J'ussions plutôt systématiquement réservé la place pour le texte
<script type="text/javascript">
function texto(montexte,monChamp) {
monChamp.parentNode.firstChild.innerHTML = montexte;
}
</script>
</body>
<form>
<p><span></span><input type="text"
onmouseover="texto('salut Alex',this);"
onmouseout="texto('',this);"></p>
<p><span></span><input type="text"
onmouseover="texto('autre info',this);"
onmouseout="texto('',this);"></p>
</form>
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le
message de news: 441fed41$0$20943$636a55ce@news.free.fr...
Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte
à la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour
ceux qui cherchent, il faut utiliser une fonction récursive pour obtenir
la position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
et si on a scrollé dans la page c'est-y encore OK ? (IE par exemple)
J'ussions plutôt systématiquement réservé la place pour le texte
<script type="text/javascript">
function texto(montexte,monChamp) {
monChamp.parentNode.firstChild.innerHTML = montexte;
}
</script>
</body>
<form>
<p><span></span><input type="text"
onmouseover="texto('salut Alex',this);"
onmouseout="texto('',this);"></p>
<p><span></span><input type="text"
onmouseover="texto('autre info',this);"
onmouseout="texto('',this);"></p>
</form>
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le
message de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte
à la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour
ceux qui cherchent, il faut utiliser une fonction récursive pour obtenir
la position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
et si on a scrollé dans la page c'est-y encore OK ? (IE par exemple)
J'ussions plutôt systématiquement réservé la place pour le texte
<script type="text/javascript">
function texto(montexte,monChamp) {
monChamp.parentNode.firstChild.innerHTML = montexte;
}
</script>
</body>
<form>
<p><span></span><input type="text"
onmouseover="texto('salut Alex',this);"
onmouseout="texto('',this);"></p>
<p><span></span><input type="text"
onmouseover="texto('autre info',this);"
onmouseout="texto('',this);"></p>
</form>
Pour le scrolling ça fonctionne bien sous IE 6 et 7.
pour ce que je veux faire exactement. Merci en tout cas.
Pour le scrolling ça fonctionne bien sous IE 6 et 7.
pour ce que je veux faire exactement. Merci en tout cas.
Pour le scrolling ça fonctionne bien sous IE 6 et 7.
pour ce que je veux faire exactement. Merci en tout cas.
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le
message de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte
à la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour
ceux qui cherchent, il faut utiliser une fonction récursive pour obtenir
la position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
et si on a scrollé dans la page c'est-y encore OK ? (IE par exemple)
J'ussions plutôt systématiquement réservé la place pour le texte
<script type="text/javascript">
function texto(montexte,monChamp) {
monChamp.parentNode.firstChild.innerHTML = montexte;
}
</script>
</body>
<form>
<p><span></span><input type="text"
onmouseover="texto('salut Alex',this);"
onmouseout="texto('',this);"></p>
<p><span></span><input type="text"
onmouseover="texto('autre info',this);"
onmouseout="texto('',this);"></p>
</form>
--
Stephane Moriaux et son [moins] vieux Mac
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le
message de news: 441fed41$0$20943$636a55ce@news.free.fr...
Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte
à la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour
ceux qui cherchent, il faut utiliser une fonction récursive pour obtenir
la position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
et si on a scrollé dans la page c'est-y encore OK ? (IE par exemple)
J'ussions plutôt systématiquement réservé la place pour le texte
<script type="text/javascript">
function texto(montexte,monChamp) {
monChamp.parentNode.firstChild.innerHTML = montexte;
}
</script>
</body>
<form>
<p><span></span><input type="text"
onmouseover="texto('salut Alex',this);"
onmouseout="texto('',this);"></p>
<p><span></span><input type="text"
onmouseover="texto('autre info',this);"
onmouseout="texto('',this);"></p>
</form>
--
Stephane Moriaux et son [moins] vieux Mac
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le
message de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web. Je voudrais afficher un texte
à la droite du champ lors du survol de ce dernier.
Bon, vous connaissez l'histoire du mec qui cherche pendant 2 jours et qui
trouve la réponse 2 minutes après l'avoir posée sur le forum ? ;-) Pour
ceux qui cherchent, il faut utiliser une fonction récursive pour obtenir
la position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
et si on a scrollé dans la page c'est-y encore OK ? (IE par exemple)
J'ussions plutôt systématiquement réservé la place pour le texte
<script type="text/javascript">
function texto(montexte,monChamp) {
monChamp.parentNode.firstChild.innerHTML = montexte;
}
</script>
</body>
<form>
<p><span></span><input type="text"
onmouseover="texto('salut Alex',this);"
onmouseout="texto('',this);"></p>
<p><span></span><input type="text"
onmouseover="texto('autre info',this);"
onmouseout="texto('',this);"></p>
</form>
--
Stephane Moriaux et son [moins] vieux Mac
Bah les probs posés par ta solution :
1) C'est à droite du champ que je veux afficher mon texte.
2) J'ai presque 200 champs dans le formulaire, les <span></span> je préfère
pas les ajouter ! ;-)
c'est dans un Rad (Domino) donc pas moyen d'ajouter
les spans simplement. Je pourrais y réfléchir pour le faire en script sur le
onload, mais tout de suite ça complique pas mal le truc.
3) Le monChamp.parentNode, ça marche pas pour les SELECT
sous IE, parce
qu'il a l'air de considérer que tu survoles l'option et pas le select. Donc
le parentNode te renvoie le select et pas le <TD> (ou le <P> dans ton
exemple). Bref encore une fois ça complique tout.
Par contre ma solution pose aussi des problèmes. Notamment parce que
j'utilise un DIV avec lequel je joue sur la visibility. Seulement s'il y a
un SELECT à côté, mon DIV est masqué (il passe en dessous).
Ce prob est
enfin corrigé dans IE7 mais pas dans IE6.
Bah les probs posés par ta solution :
1) C'est à droite du champ que je veux afficher mon texte.
2) J'ai presque 200 champs dans le formulaire, les <span></span> je préfère
pas les ajouter ! ;-)
c'est dans un Rad (Domino) donc pas moyen d'ajouter
les spans simplement. Je pourrais y réfléchir pour le faire en script sur le
onload, mais tout de suite ça complique pas mal le truc.
3) Le monChamp.parentNode, ça marche pas pour les SELECT
sous IE, parce
qu'il a l'air de considérer que tu survoles l'option et pas le select. Donc
le parentNode te renvoie le select et pas le <TD> (ou le <P> dans ton
exemple). Bref encore une fois ça complique tout.
Par contre ma solution pose aussi des problèmes. Notamment parce que
j'utilise un DIV avec lequel je joue sur la visibility. Seulement s'il y a
un SELECT à côté, mon DIV est masqué (il passe en dessous).
Ce prob est
enfin corrigé dans IE7 mais pas dans IE6.
Bah les probs posés par ta solution :
1) C'est à droite du champ que je veux afficher mon texte.
2) J'ai presque 200 champs dans le formulaire, les <span></span> je préfère
pas les ajouter ! ;-)
c'est dans un Rad (Domino) donc pas moyen d'ajouter
les spans simplement. Je pourrais y réfléchir pour le faire en script sur le
onload, mais tout de suite ça complique pas mal le truc.
3) Le monChamp.parentNode, ça marche pas pour les SELECT
sous IE, parce
qu'il a l'air de considérer que tu survoles l'option et pas le select. Donc
le parentNode te renvoie le select et pas le <TD> (ou le <P> dans ton
exemple). Bref encore une fois ça complique tout.
Par contre ma solution pose aussi des problèmes. Notamment parce que
j'utilise un DIV avec lequel je joue sur la visibility. Seulement s'il y a
un SELECT à côté, mon DIV est masqué (il passe en dessous).
Ce prob est
enfin corrigé dans IE7 mais pas dans IE6.
correctif (mais mon IE en fait une cagade au remove) :
function textplus(montexte,monChamp) {
monChamp = (monChamp.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode :
(monChamp.parentNode.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode.parentNode :
'erreur';
if(monChamp=='erreur')
alert('Pas possible pour inserer !');
else {
var s = document.createElement('SPAN');
s.innerHTML = montexte;
// monChamp.style.border = '3px solid red';
monChamp.appendChild(s);
}
}
function textmoins(monChamp) {
monChamp = (monChamp.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode :
(monChamp.parentNode.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode.parentNode :
'erreur';
if(monChamp=='erreur')
alert('Y a rien a enlever !');
else {
// alert(monChamp.tagName);
// monChamp.style.border = '';
var c = monChamp.lastChild;
// alert(c.tagName);
monChamp.removeChild(c);
}
}
--
Stephane Moriaux et son [moins] vieux Mac
correctif (mais mon IE en fait une cagade au remove) :
function textplus(montexte,monChamp) {
monChamp = (monChamp.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode :
(monChamp.parentNode.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode.parentNode :
'erreur';
if(monChamp=='erreur')
alert('Pas possible pour inserer !');
else {
var s = document.createElement('SPAN');
s.innerHTML = montexte;
// monChamp.style.border = '3px solid red';
monChamp.appendChild(s);
}
}
function textmoins(monChamp) {
monChamp = (monChamp.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode :
(monChamp.parentNode.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode.parentNode :
'erreur';
if(monChamp=='erreur')
alert('Y a rien a enlever !');
else {
// alert(monChamp.tagName);
// monChamp.style.border = '';
var c = monChamp.lastChild;
// alert(c.tagName);
monChamp.removeChild(c);
}
}
--
Stephane Moriaux et son [moins] vieux Mac
correctif (mais mon IE en fait une cagade au remove) :
function textplus(montexte,monChamp) {
monChamp = (monChamp.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode :
(monChamp.parentNode.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode.parentNode :
'erreur';
if(monChamp=='erreur')
alert('Pas possible pour inserer !');
else {
var s = document.createElement('SPAN');
s.innerHTML = montexte;
// monChamp.style.border = '3px solid red';
monChamp.appendChild(s);
}
}
function textmoins(monChamp) {
monChamp = (monChamp.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode :
(monChamp.parentNode.parentNode.tagName.toLowerCase()=='td')?
monChamp.parentNode.parentNode :
'erreur';
if(monChamp=='erreur')
alert('Y a rien a enlever !');
else {
// alert(monChamp.tagName);
// monChamp.style.border = '';
var c = monChamp.lastChild;
// alert(c.tagName);
monChamp.removeChild(c);
}
}
--
Stephane Moriaux et son [moins] vieux Mac
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le message
de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web.
..., il faut utiliser une fonction récursive pour obtenir la
position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le message
de news: 441fed41$0$20943$636a55ce@news.free.fr...
Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web.
..., il faut utiliser une fonction récursive pour obtenir la
position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}
"Alexis Coudeyras" <acoudeyras@[NoSpam]amalthis.com> a écrit dans le message
de news: 441fed41$0$20943$Bonjour, je cherche un moyen de connaître la position (absolute, c'est à
dire x et y) d'un champ dans une page Web.
..., il faut utiliser une fonction récursive pour obtenir la
position left et top de l'élément et de tous ses parents :
function getLeft(MyObject) {
if (MyObject.offsetParent)
return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
else
return (MyObject.offsetLeft);
}