OVH Cloud OVH Cloud

Probleme JS avec Netscape 7 et Mozilla 1.5

11 réponses
Avatar
Phil
Salut tout le monde,
J'ai ici un script destiné à faire apparaitre une infobulle sur un lien.
Cette infobulle suit le mouvement de la souris tant qu'on est sur le lien.
Cela fonctionne bien sous IE et Opéra mais dans NN7 et Mozilla 1.5,
l'infobulle reste scotchée en haut à gauche de la fenetre navigateur.

Je les soupçonne donc de ne pas comprendre une ou des instructions
concernant le déplacement et le positionnement mais je ne sais pas
lesquelles...

(Dans le script c'est une variable ns6 qui est déclarée mais ça doit être la
même chose pour un ns7, non ?)

Merci de votre aide.

<script language="JavaScript" type="text/JavaScript">
<!--
function initToolTips(){
offsetX = 10;
offsetY = 15;
ns4 = document.layers;
ns6 = document.getElementById && !document.all;
ie4 = document.all;
toolTipSTYLE="";
if(ns4||ns6||ie4) {
if(ns4) toolTipSTYLE = document.toolTipLayer;
else if(ns6) toolTipSTYLE =
document.getElementById("toolTipLayer").style;
else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style;
if(ns4) document.captureEvents(Event.MOUSEMOVE);
else {
toolTipSTYLE.visibility = "visible";
toolTipSTYLE.display = "none";
}
document.onmousemove = moveToMouseLoc;
}
}
//------------------------------------------
function moveToMouseLoc(e) {
if(ns4||ns6) {
x = e.pageX; y = e.pageY;
} else {
x = event.x + document.body.scrollLeft;
y = event.y + document.body.scrollTop;
}
toolTipSTYLE.left = x + offsetX;
toolTipSTYLE.top = y + offsetY;
return true;
}
//-------------------------------------------------------
function toolTip(valItal, valGras, msg, fg, bg, police, tailleTexte) {
if(toolTip.arguments.length < 1) { // hide
if(ns4) toolTipSTYLE.visibility = "hidden";
else toolTipSTYLE.display = "none";
} else { // show
var content =
'<table border="0" cellspacing="0" cellpadding="1" bgcolor="' + fg +
'"><td>' +
'<table border="0" cellspacing="0" cellpadding="1" bgcolor="' + bg +
'"><td align="center"><font face="'+ police +'" color="' + fg +
'" size="' + tailleTexte + '">&nbsp\;' + msg +
'&nbsp\;</font></td></table></td></table>';
if(ns4) {
toolTipSTYLE.document.write(content);
toolTipSTYLE.document.close();
toolTipSTYLE.visibility = "visible";
}
if(ns6) {
document.getElementById("toolTipLayer").innerHTML = content;
toolTipSTYLE.display='block'
}
if(ie4) {
document.all("toolTipLayer").innerHTML=content;
toolTipSTYLE.display='block'
}
}
}
//-->
</script>
</head>

<body>
<div id="toolTipLayer" style="position:absolute; visibility: hidden"></div>
<script language="JavaScript">
<!--
initToolTips();
--></script>
<p>&nbsp;
</p>
<p>
<a href="javascript:;"
onMouseOver="toolTip('0','0','AAAAAAAAAAA','#FF0000','#FFFFFF','Verdana,
Arial, Helvetica, sans-serif','2')" onMouseOut="toolTip()">Test 1 </a>
</p>

10 réponses

1 2
Avatar
Phil

Je n'y connais rien à JavaScript, mais pourquoi ne pas simplement
utiliser l'attribut title ?



Je connais. C'est juste un exercice que je m'impose :-)
Et là je sèche.
Avatar
Jay Tropeur
Phil a écrit :
Salut tout le monde,



Salut tout seul,

Remplace:
<a href="javascript:;"
onMouseOver="toolTip('0','0','AAAAAAAAAAA','#FF0000','#FFFFFF','Verdana,
Arial, Helvetica, sans-serif','2')" onMouseOut="toolTip()">Test 1 </a>
</p>



Par
<a href="#"
onMouseOver="toolTip('0','0','AAAAAAAAAAA','#FF0000','#FFFFFF','Verdana,
Arial, Helvetica, sans-serif','2')" onMouseOut="toolTip()">Test 1 </a>

et roulez jeunesse...

--
Jay Tropeur

Un jour ou l'autre,
Il y a des types qui mangeront du fromage.
Avatar
Phil
Raphaël, Jay

Merci de vos réponses mais ni l'une ni l'autre ne change quoique ce soit...
:-)
Avatar
Raphaël Wils
Phil a écrit :

Merci de vos réponses mais ni l'une ni l'autre ne change quoique ce soit...
:-)



Sur mon pc ceci foctionne sous mozilla 1.5 :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function initToolTips(){
offsetX = 10;
offsetY = 15;
ns4 = document.layers;
ns6 = document.getElementById && !document.all;
ie4 = document.all;
toolTipSTYLE="";
if(ns4||ns6||ie4) {
if(ns4) toolTipSTYLE = document.toolTipLayer;
else if(ns6) toolTipSTYLE document.getElementById("toolTipLayer").style;
else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style;
if(ns4) document.captureEvents(Event.MOUSEMOVE);
else {
toolTipSTYLE.visibility = "visible";
toolTipSTYLE.display = "none";
}
document.onmousemove = moveToMouseLoc;
}
}
//------------------------------------------
function moveToMouseLoc(e) {
if(ns4||ns6) {
x = e.pageX; y = e.pageY;
} else {
x = event.x + document.body.scrollLeft;
y = event.y + document.body.scrollTop;
}
toolTipSTYLE.left = x + offsetX;
toolTipSTYLE.top = y + offsetY;
return true;
}
//-------------------------------------------------------
function toolTip(valItal, valGras, msg, fg, bg, police, tailleTexte) {
if(toolTip.arguments.length < 1) { // hide
if(ns4) toolTipSTYLE.visibility = "hidden";
else toolTipSTYLE.display = "none";
} else { // show
var content '<table border="0" cellspacing="0" cellpadding="1" bgcolor="' + fg +
'"><td>' +
'<table border="0" cellspacing="0" cellpadding="1" bgcolor="' + bg +
'"><td align="center"><font face="'+ police +'" color="' + fg +
'" size="' + tailleTexte + '">&nbsp;' + msg +
'&nbsp;</font></td></table></td></table>';
if(ns4) {
toolTipSTYLE.document.write(content);
toolTipSTYLE.document.close();
toolTipSTYLE.visibility = "visible";
}
if(ns6) {
document.getElementById("toolTipLayer").innerHTML = content;
toolTipSTYLE.display='block'
}
if(ie4) {
document.all("toolTipLayer").innerHTML=content;
toolTipSTYLE.display='block'
}
}
}
//-->
</script>
</head>

<body>
<div id="toolTipLayer" style="position:absolute; visibility: hidden"></div>
<script language="JavaScript">
<!--
initToolTips();
--></script>
<p>&nbsp;
</p>
<p>
<a href="javascript:;"
onmouseover="toolTip('0','0','AAAAAAAAAAA','#FF0000','#FFFFFF','Verdana,Arial,
Helvetica, sans-serif','2')" onmouseout="toolTip()">Test 1 </a>

</p>

</body>
</html>


--
Raphael wils
http://perso.club-internet.fr/raphael.wils
"It don't mean a thing, if it ain't got that swing !"
Avatar
Phil
Sur mon pc ceci foctionne sous mozilla 1.5 :



Ah ? Alors je ne sais pas, c'est bizarre.
Chez moi rien de rien avec Mozilla ou NN. L'infobulle apparait toujours en
haut d'écran.

Merci de ton essai :-) Je continue à chercher.
Avatar
Raphaël Wils
Phil a écrit :
Sur mon pc ceci foctionne sous mozilla 1.5 :



Ah ? Alors je ne sais pas, c'est bizarre.
Chez moi rien de rien avec Mozilla ou NN. L'infobulle apparait toujours en
haut d'écran.

Merci de ton essai :-) Je continue à chercher.




Est ce que tu n'aurais pas désactivé javascript ?

--
Raphael wils
http://perso.club-internet.fr/raphael.wils
"It don't mean a thing, if it ain't got that swing !"
Avatar
Raphaël Wils
Et que dit la console javascript de mozilla ?

--
Raphael wils
http://perso.club-internet.fr/raphael.wils
"It don't mean a thing, if it ain't got that swing !"
Avatar
Phil
Est ce que tu n'aurais pas désactivé javascript ?



J'ai eu un doute tout à coup :-)
Mais non. Si c'était le cas, l'infobulle n'apparaitrait même pas puisqu'elle
est déclenchée par un mouseover. Hors là elle apparait en haut de
l'écran...et c'est tout. :-)
Au lieu d'apparaitre sous le pointeur de la souris et de suivre le mouvement
de celle-ci.
Avatar
Phil
Et que dit la console javascript de mozilla ?



Comment s'en sert-on ?
Je l'ai ouverte mais après ? Je mets quoi ?
Avatar
chimel
"Phil" a écrit dans le message de news:

Salut tout le monde,
J'ai ici un script destiné à faire apparaitre une infobulle sur un lien.
ns4 = document.layers;
ns6 = document.getElementById && !document.all;
ie4 = document.all;



Un peu dépassé ton script
J'en ai construit un qui récupère automatiquement les infobulles "alt et
"title"
http://perso.wanadoo.fr/michel.deboom/
Des détails si ça interresse qqun
Michel
1 2