Probleme JS avec Netscape 7 et Mozilla 1.5
Le
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 + '"> \;' + msg +
' \;</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>
</p>
<p>
<a href="javascript:;"
onMouseOver="toolTip('0','0','AAAAAAAAAAA','#FF0000','#FFFFFF','Verdana,
Arial, Helvetica, sans-serif','2')" onMouseOut="toolTip()">Test 1 </a>
</p>
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 + '"> \;' + msg +
' \;</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>
</p>
<p>
<a href="javascript:;"
onMouseOver="toolTip('0','0','AAAAAAAAAAA','#FF0000','#FFFFFF','Verdana,
Arial, Helvetica, sans-serif','2')" onMouseOut="toolTip()">Test 1 </a>
</p>

Poser une question


Je connais. C'est juste un exercice que je m'impose :-)
Et là je sèche.
Salut tout seul,
Remplace:
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.
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 :
<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 + '"> ' + msg +
' </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>
</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 !"
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.