Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
549 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Pb Infobulle js seulement sur firefox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb Infobulle js seulement sur firefox

n°1323498
ishanshade
Posté le 11-03-2006 à 22:25:06  profilanswer
 

Bonjour à tous
Je fais un site internet pour la FAC sur un sujet bien précis : les mangas
Pour ce site,j'ai voulu incorporer un calendrier avec infobulle apparaissant lorsque le curseur passe sur la data contenant un évènement.
 
J'ai donc chopé un petit module sur le net que j'ai très vite installé.
 
Voila ce que ca donne http://dbzishan40.free.fr/v1/. Pour les utilisateurs de Firefox, ils verront le calendrier marcher parfaitement. Pour ceux qui utilisent IE, pas d'infobulles ! Voici l'erreur que donne IE :
'document.all.infobulle.style' a la valeur Null ou n'est pas un objet. (aux lignes 30 et 60, d'apres IE)
 

Code :
  1. var ie = (document.all)? true:false;
  2. var ns4 = (document.layers)? true:false;
  3. var ns6 = (document.getElementById)? true:false;
  4. var IB=new Object;
  5. var posX=0;
  6. var posY=0;
  7. var xOffset=20;
  8. var yOffset=20;
  9. function AffBulle(titre, texte, w, color1, color2)
  10. {
  11. //contenu="<div style=\"border: 1px solid #7f9db9; background: "+IB.ColContour+"; position: absolute; z-index: auto; display: block;\">"+titre+"</div>";IB.ColContourIB.ColFond
  12. //IB.ColContour
  13. contenu="<table width='"+w+"' cellspacing='0' cellpadding='"+IB.NbPixel+"' style=\"border: 1px solid "+color2+";\"><tr style='background: "+color1+";'><td>&nbsp;<b>"+titre+"</b></td></tr><tr style='background: "+color1+";'><td valign='top'><table style='width:100%; background: white;' cellpadding='3' cellspacing='0'><tr><td style=\"border: 1px solid "+color2+";\">"+texte+"</td></tr></table></td></tr></table>&nbsp;";
  14. var finalPosX=posX-xOffset;
  15. if (finalPosX<0) finalPosX=0;
  16. if (ns4)
  17. {
  18. document.layers["infobulle"].document.write(contenu);
  19. document.layers["infobulle"].document.close();
  20. document.layers["infobulle"].top=posY+yOffset+"px";
  21. document.layers["infobulle"].left=finalPosX+"px";
  22. document.layers["infobulle"].visibility="show";
  23. }
  24. if (ie)
  25. {
  26. infobulle.innerHTML=contenu;
  27. document.all["infobulle"].style.top=posY+yOffset+"px";
  28. document.all["infobulle"].style.left=finalPosX+"px";
  29. document.all["infobulle"].style.visibility="visible";
  30. }
  31. else if (ns6)
  32. {
  33. document.getElementById("infobulle" ).innerHTML=contenu;
  34. document.getElementById("infobulle" ).style.top=posY+yOffset+"px";
  35. document.getElementById("infobulle" ).style.left=finalPosX+"px";
  36. document.getElementById("infobulle" ).style.visibility="visible";
  37. }
  38. }
  39. function getMousePos(e)
  40. {
  41. if (ie)
  42. {
  43.   posX=event.x+document.documentElement.scrollLeft;
  44.   posY=event.y+document.documentElement.scrollTop;
  45. }
  46. else
  47. {
  48.   posX=e.pageX;
  49.   posY=e.pageY;
  50. }
  51. }
  52. function HideBulle()
  53. {
  54. if (ns4) {document.layers["infobulle"].visibility="hide";}
  55. if (ie) {document.all["infobulle"].style.visibility="hidden";}
  56. else if (ns6){document.getElementById("infobulle" ).style.visibility="hidden";}
  57. }
  58. function InitBulle(ColFond, ColContour, NbPixel)
  59. {
  60. IB.ColFond=ColFond;IB.ColContour=ColContour;IB.NbPixel=NbPixel;
  61. if (ns4)
  62. {
  63.  document.write("<layer name='infobulle' top='0' left='0' visibility='hide'></layer>" );
  64.  window.captureEvents(Event.MOUSEMOVE);window.onMouseMove=getMousePos;
  65. }
  66. if (ie)
  67. {
  68.  document.write("<div id='infobulle' style='position:absolute;top:0;left:0;visibility:hidden'></div>" );
  69.  document.onmousemove=getMousePos;
  70. }
  71. //modif CL 09/2001 - NS6 : celui-ci ne supporte plus document.layers mais document.getElementById
  72. else if (ns6)
  73. {
  74.         document.write("<div id='infobulle' style='position:absolute;top:0;left:0;visibility:hidden;'></div>" );
  75.         document.onmousemove=getMousePos;
  76. }
  77. }


 
Pourtant, le plus curieux, c'est que sur la page http://dbzishan40.free.fr/v1/test/ (page appellée sur ma page v1/index.php grâce à la fonction include) avec Firefox ou IE, tout marche parfaitement.
 
Quelqu'un peut-il m'aider ?
 
Merci d'avance


Message édité par ishanshade le 12-03-2006 à 15:15:40
mood
Publicité
Posté le 11-03-2006 à 22:25:06  profilanswer
 

n°1323506
subtil
Posté le 11-03-2006 à 22:43:13  profilanswer
 

java!=javascript  :p

n°1323683
ishanshade
Posté le 12-03-2006 à 14:57:11  profilanswer
 

Bah le calendrier est en javascript non ? Je comprends pas...
 
Personne pour m'aider ?

n°1323684
the real m​oins moins
Posté le 12-03-2006 à 15:01:00  profilanswer
 

ishanshade a écrit :

Bah le calendrier est en javascript non ? Je comprends pas...


oui, et il te dit que javascript et java sont deux choses différentes, autrement dit que ton post est dans la mauvaise catégorie.
tu peux modifier ça en éditant ton post. (http://forum-images.hardware.fr/themes_static/images_forum/1/edit.gif)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1323689
ishanshade
Posté le 12-03-2006 à 15:16:44  profilanswer
 

D'accord merci.  
Doncvoila, maintenant qu'il est ds la bonne catégorie, y a t il quelqu'un qui aurait une idée ?

n°1324018
ishanshade
Posté le 13-03-2006 à 10:42:52  profilanswer
 

Up...
 
Je me rends compte que c'est la fonction include qui empeche l'affichage des infobulles sur IE, car sur le lien direct de l'index du calendrier, les infobulles apparaissent
 
Personne ne sait m'aider pleaaaase !!!

n°1327940
ishanshade
Posté le 18-03-2006 à 20:20:25  profilanswer
 

up...
help help

n°1328009
nargy
Posté le 18-03-2006 à 22:39:10  profilanswer
 
n°1328025
xtof_83
Freeride Spirit
Posté le 18-03-2006 à 23:24:10  profilanswer
 

Mouais ton truc tu peux le faire en CSS...
 
Enfin...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Pb Infobulle js seulement sur firefox

 

Sujets relatifs
Javascript : incohérénces entre IE et FirefoxCurseur perso Firefox...
Problème CSS entre IE et Firefoxfirefox
comment mettre un video sur le web seulement en visualisation[netscape][firefox] Ouvir un lien dans une nouvel onglet
Block qui se décale sous Firefox!!Problème affichage infoBulle IE <> Firefox
Firefox, javascript et url 
Plus de sujets relatifs à : Pb Infobulle js seulement sur firefox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR