Onmouseover ne fonctionne pas sous firefox

Fermé
lpblpb28 Messages postés 5 Date d'inscription jeudi 20 décembre 2012 Statut Membre Dernière intervention 8 janvier 2013 - 7 janv. 2013 à 17:05
lpblpb28 Messages postés 5 Date d'inscription jeudi 20 décembre 2012 Statut Membre Dernière intervention 8 janvier 2013 - 8 janv. 2013 à 13:27
Bonjour,
Une petite fonction javascript "OnMouseOver" fonctionne bien sous Internet Explorer IE mais pas sous firefox 17.01
Quelqu'un peut me dire pourquoi?
Merci d'avance


A voir également:

4 réponses

Utilisateur anonyme
7 janv. 2013 à 17:12
Bonjour

Sans voir la "petite fonction" en question, ça m'étonnerait.
lpblpb28 Messages postés 5 Date d'inscription jeudi 20 décembre 2012 Statut Membre Dernière intervention 8 janvier 2013
Modifié par lpblpb28 le 7/01/2013 à 18:15
le détail du javascript :

var ie = document.all ? 1 : 0
var ns = document.layers ? 1 : 0
if(ns){doc = "document."; sty = ""}
if(ie){doc = "document.all."; sty = ".style"}
var initialize = 0
var Ex, Ey, topColor, subColor, ContentNote
if(ie){
Ex = "event.x"
Ey = "event.y"
topColor = "#FF0000"
subColor = "#FFFFFF"
}
if(ns){
Ex = "e.pageX"
Ey = "e.pageY"
window.captureEvents(Event.MOUSEMOVE)
window.onmousemove=overhere
topColor = "#000099"
subColor = "#00CCFF"
}
function MoveNote(layerName, FromTop, FromLeft, e){
if(ie){eval(doc + layerName + sty + ".top = " + (eval(FromTop) + document.body.scrollTop))}
if(ns){eval(doc + layerName + sty + ".top = " + eval(FromTop))}
eval(doc + layerName + sty + ".left = " + (eval(FromLeft) + 15))
}

function ReplaceContent(layerName){
if(ie){document.all[layerName].innerHTML = ContentNote}
if(ns){
with(document.layers[layerName].document)
{
open();
write(ContentNote);
close();
}
}
}

function Activate(){initialize=1}
function deActivate(){initialize=0}

function overhere(e){
if(initialize){
MoveNote("Note", Ey, Ex, e)
eval(doc + "Note" + sty + ".visibility = 'visible'")
}
else{
MoveNote("Note", 0, 0)
eval(doc + "Note" + sty + ".visibility = 'hidden'")
}
}

function EnterContent(layerName, TTitle, TContent){
ContentNote = '<table border="0" width="50" /*taille de l encadré*/ cellspacing="0" cellpadding="0">'+
'<tr><td width="100%" bgcolor="#000000">'+
'<table border="0" width="100%" cellspacing="1" cellpadding="0">'+
//'<tr><td width="100%" bgcolor='+topColor+'>'+
//'<table border="0" width="90%" cellspacing="0" cellpadding="0" align="center">'+
//'<tr><td width="100%" align="center">'+
//'<font class="NoteTitle"> '+TTitle+'</font>'+

//'</td></tr>'+
//'</table>'+
//'</td></tr>'+
'<tr><td width="100%" bgcolor='+subColor+'>'+
'<table border="0" width="90%" cellpadding="0" cellspacing="1" align="center">'+
'<tr><td width="100%">'+
'<font class="NoteContent">'+TContent+'</font>'+
'</td></tr>'+
'</table>'+
//'</td></tr>'+
'</table>'+
'</td></tr>'+
'</table>';
ReplaceContent(layerName)
}

Appel de la fonction java dans ma page HTML :

<SCRIPT language="JavaScript" src="NoteOnMouseOver_photoText_sur_texte.js">
</SCRIPT>
<LINK href="pagination.css" rel="stylesheet" type="text/css" />
<LINK rel="stylesheet" href="fds0.css">
</HEAD>
<SCRIPT language="JavaScript" src="/styles/Maxi.js"></SCRIPT>
<BODY onmousemove=overhere() background="../../../../images/FondFilets.gif" bgcolor="#ffffff" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">

Voilà pour le détail, mais je répète cette fonction fonctionne bien sous IE mais pas sous firefox !
faut il des modules complemantaires ?
Merci
Utilisateur anonyme
8 janv. 2013 à 00:15
Comme le montrent les deux premières lignes, le script n'est prévu que pour IE et Netscape. Pour les autres navigateurs, en tous cas ceux pour lesquels l'objet document n'a pas de propriété "all" ni de propriété "layers", la variable "doc" n'est pas définie et tout le reste ne peut pas marcher.
lpblpb28 Messages postés 5 Date d'inscription jeudi 20 décembre 2012 Statut Membre Dernière intervention 8 janvier 2013
8 janv. 2013 à 13:27
merci cela m'éclaire beaucoup.
je vais maintenant essayer de le rendre compatible avec le navigateur Firefox.