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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [java/CSS] incompatibilité IE !?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java/CSS] incompatibilité IE !?

n°976409
vincegr
Posté le 09-02-2005 à 14:30:58  profilanswer
 

Hi all,
 
Dans le haut de la page d'accueil de mon site, j'ai 3 petits liens qui me permettent de choisir un style d'affichage. En cliquant sur l'un de ses liens je fais changer l'apparence des pages en pointant sur différentes CSS! (j'imagine que tout le monde avait compris). J'ai utilisé une méthode via js pour obtenir ceci.
En dessous de ces liens j'ai une div dans laquelle j'ai mis un menu en js.
Et tout marche bien !!
C'est là que vous vous dites "mais qu'est ce qu'il vient nous gonfler si ça marche" et bien je vais vous dire pourquoi !! Tout marche nickel mais sous Firefox !! Sous IE ça marche pas !
Je vous post un peu de code pour aider à la compréhension :
 
- un des liens pour changer l'apparence :

Code :
  1. <a href="#" onclick="setActiveStyleSheet('default'); return false;">blabla</a>


 
- le .js :  

Code :
  1. function setActiveStyleSheet(title)
  2. {
  3. var i, a, main;
  4. for(i=0; (a = document.getElementsByTagName("link" )[i]); i++)
  5. {
  6.  if(a.getAttribute("rel" ).indexOf("style" ) != -1 && a.getAttribute("title" ))
  7.  {
  8.   a.disabled = true;
  9.   if(a.getAttribute("title" ) == title) a.disabled = false;
  10.  }
  11. }
  12. }
  13. function getActiveStyleSheet()
  14. {
  15. var i, a;
  16. for(i=0; (a = document.getElementsByTagName("link" )[i]); i++)
  17. {
  18.  if(a.getAttribute("rel" ).indexOf("style" ) != -1 && a.getAttribute("title" ) && !a.disabled) return a.getAttribute("title" );
  19. }
  20. return null;
  21. }
  22. function getPreferredStyleSheet()
  23. {
  24. var i, a;
  25. for(i=0; (a = document.getElementsByTagName("link" )[i]); i++)
  26. {
  27.  if(a.getAttribute("rel" ).indexOf("style" ) != -1 && a.getAttribute("rel" ).indexOf("alt" ) == -1 && a.getAttribute("title" )) return a.getAttribute("title" );
  28. }
  29. return null;
  30. }
  31. function createCookie(name,value,days) {
  32. if (days)
  33. {
  34.  var date = new Date();
  35.  date.setTime(date.getTime()+(days*24*60*60*1000));
  36.  var expires = "; expires="+date.toGMTString();
  37. }
  38. else expires = "";
  39. document.cookie = name+"="+value+expires+"; path=/";
  40. }
  41. function readCookie(name)
  42. {
  43. var nameEQ = name + "=";
  44. var ca = document.cookie.split(';');
  45. for(var i=0;i < ca.length;i++)
  46. {
  47.  var c = ca[i];
  48.  while (c.charAt(0)==' ') c = c.substring(1,c.length);
  49.  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  50. }
  51. return null;
  52. }
  53. window.onload = montre;
  54. window.onload = function(e)
  55. {
  56. var cookie = readCookie("style" );
  57. var title = cookie ? cookie : getPreferredStyleSheet();
  58. setActiveStyleSheet(title);
  59. }
  60. function montre(id)
  61. {
  62. var d = document.getElementById(id);
  63. for (var i = 1; i<=10; i++)
  64. {
  65.  if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
  66. }
  67. if (d) {d.style.display='block';}
  68. }
  69. window.onunload = function(e)
  70. {
  71. var title = getActiveStyleSheet();
  72. createCookie("style", title, 365);
  73. }
  74. var cookie = readCookie("style" );
  75. var title = cookie ? cookie : getPreferredStyleSheet();
  76. setActiveStyleSheet(title);


 
-la div qui ne s'affiche pas sous IE :

Code :
  1. .cadremenu {
  2.    position: absolute;
  3.    width: 77.8%;
  4.    height: 19.9%;
  5.    top: 5%;
  6.    right: 1%;
  7.    border: solid #000000 1px;
  8.    background: url(images/fondhaut.jpg) bottom right no-repeat;
  9.   }


 
et vous trouverez le code pour mon menu dans ce meme js
 
- un des liens du menu qui est dans la div qui ne s'affiche pas :

Code :
  1. <li><a href="indexfr.php?gauche=formations&droite=diagramme">Formations</a></li>


 
donc voila voila
 
si vous avez une idée !!
 
merci bien


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)
mood
Publicité
Posté le 09-02-2005 à 14:30:58  profilanswer
 

n°976894
cerel
Posté le 09-02-2005 à 18:52:10  profilanswer
 

Tu as deja un probleme :

Citation :


 window.onload = montre;
 window.onload = function(e)
[...]


Lors de la 2e affectation tu va "effacer" l'appel a la fonction montre.
De plus, montre prends un argument, et la 2 fonction aussi. Il faut que tu sache que les fonctions appelees par onload ne recoivent aucun argument, il faut donc qu'elles puissent fonctionner correctement sans arguments.

n°977279
vincegr
Posté le 10-02-2005 à 09:42:38  profilanswer
 

merci
comme quoi il faut pas toujours faire confiance aux tutos !!
je vais tenter de corriger ça !


---------------
"Il vaut mieux se taire et passer pour un con plutôt que de parler et de ne laisser aucun doute à ce sujet." (Pierre Desproge)

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

  [java/CSS] incompatibilité IE !?

 

Sujets relatifs
erreur et bug d'un chat java (misscara) help!![CSS/xHTML] Je ne comprend pas l'affichage de mon <div>...
Interpréteur lisp en Java[Java MySQL] Problème de Savepoints !
[java][protection logiciel][Java] Editeur de Texte
[XHTML/CSS] Bien débuter, et coder un design proprement[Java] JFileChooser qui m'obéit pas...
[CSS][Nioub] affichage de morceaux d'imagesJava ou javascript?
Plus de sujets relatifs à : [java/CSS] incompatibilité IE !?


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