11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

globalement : j'ai une div caché que j'affiche ou non par une fonction javascript activée lors d'un click sur un lien

sous IE il n'y a aucun soucis
voilà ce que cela fait : voici le lien

http://deyrich.free.fr/kevin.php

par contre sous firefox, je n'ai ma DIV qui ne se charge qu'une seule fois donc une fois cachée elle ne se réaffiche plus
et de plus les contours de ma divs ne erspectent plus le niveau des objets : le cadre de la div se retrouve derriere un objet flash alors que le contenu de la div est devant ....

je sais pas si je suis très clair, le mieux c'est de tester mon site sous firefox .... Smiley bawling

bref, au cas ou je vous met mon code :

<script language="javascript">
function showMenu(contenu, largeur, top){ 
var divPopUp  = ''; 
divPopUp += '<table width="'+largeur +' px" cellpadding="0" cellspacing="0">'; 
divPopUp += '<tr><td align="center">Le résultat</td></tr>';
divPopUp += '<tr><td align="justify">'+contenu+'</td></tr>';
divPopUp += '<tr><td align="center"><a href="#" onClick="javascript:hideMenu2();" title="Vous pouvez aussi cliquer sur l\'image pour la fermer ">Cliquez sur l\'image pour fermer la fenêtre</a></td></tr>';
divPopUp += '</table>'; 
var element = document.all('popup'); 
element.style.width = "10"; // init par défaut (utile sur ie4SP1A) 
element.innerHTML  = divPopUp; 
element.style.left = "50px"; 
if (top < 0)element.style.top  = "10px"; 
else element.style.top  = window.event.y + document.body.scrollTop - 12; 
element.style.position = 'absolute'; 
element.style.border = 'navy 1px solid'; 
element.style.backgroundColor = "#ABC6f3"; 
element.style.fontSize   = "11pt"; 
element.style.fontColor  = "darkblue"; 
element.style.lineHeight = "16px"; 
element.style.fontFamily = "Comic Sans MS"; 
element.style.fontweight = "bold"; 	 
if (divPopUp!="")element.style.display = '';   
} 
function hideMenu2(){ 
var element; 
element = document.all('popup'); 
element.style.display = 'none'; 
return null; 
} 
</script>



et la div :

<div style="z-index:10;border: 2px solid;border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;" id="popup" onClick="javascript:hideMenu2();" nowrap="true" style="display:'none';" ></div>

voilà si vous pouviez m'aider ce serait plutot sympa

a+
Modifié par goliath (19 Mar 2005 - 11:10)
je viens de me rendre compte que je ne me suis pas présenté ....

26 ans, technicien d'exploitation depuis 1 an de demi

je développe quelques petits sites à côté
Modifié par goliath (18 Mar 2005 - 12:19)
Au vu de ton script, c'est assez simple de le rendre compatible multinavigateur.

La méthode all de l'objet document n'est connu que de IE, Opera et Konqueror. il te suffit de remplacer cette méthode par la méthode standard DOM : getElementById(id)

Ainsi, le ligne
document.all('popup')
deviens
document.getElementById('popup')


Smiley cligne
ben je viens d'essayer et cela ne change rien du tout

j'ai oublié de dire que les divs sous firefox ne s'affichent pas non plus en popup mais directement dans la page, du moins la seule fois ou la div s'affiche

mois qui aimait bien firefox, je commence a plus trop le voir Smiley langue
La principale différence entre IE et FF c'est que FF n'est absolument pas permissif. C'est à dire que si tu fait les chose proprement, de manière à ce que ça marche sous FF, ça marchera sous IE (dans 95% des cas) alors que l'inverse n'est pas vrai.

DOnc, partant de ce constat, ta balise DIV à un problème, car tu décalre 2 fois l'attribut STYLE !

Concernant la balise SCRIPT, il ne faut pas utilisé l'attribut LANGUAGE, mais TYPE avec la valeur "text/javascript".

ENfin, FF ne gère pas l'objet window.event de la même manière que IE Smiley smile

Pour finir, lorsque tu as un problème de JS avec FF, c'est très facile de savoir d'ou ça viens. En effet, FF dispose d'un outils génial qui s'appelle la consol JavaScript accessible depuis le menu "Outils" de FF Smiley cligne
Modifié par Jep (19 Mar 2005 - 15:37)
j'ai trouvé ................

heureux .... Smiley langue

sous firefox


window.event
s'écrit :
window.Event


c'est tout maintenant mon code marche nickel su rles deux navigateur IE et FF


plaisir............
merci à tous
Modifié par goliath (19 Mar 2005 - 11:10)