[JS/CSS] Probleme sous mozilla pas sous IE d'action sur CSS dans un JS

Probleme sous mozilla pas sous IE d'action sur CSS dans un JS [JS/CSS] - HTML/CSS - Programmation

Marsh Posté le 21-05-2004 à 12:39:05    

Salut et merci à tous ceux qui voudront bien se pencher sur mon prblm.
 
 
Hier j'ai voulu rende un de mes sites compatible W3C CSS (voir : http://jigsaw.w3.org/css-validator/) et XHTML (http://jigsaw.w3.org/css-validator/)
 
J'ai touché pas mal de choses et avec la fatigue j'ai créé un prblm que je n'arrive pas à résoudre seul :/
 
Ça concerne mon menu de navigation qui est composé de calques DIV dont je gère :

  • le scroll pour qu'ils soient tjrs en haut de la page
  • et l'état visible / caché


Voilà le script JS de cette gestion :

Code :
  1. <script language='JavaScript1.2' type='text/javascript'>
  2.  function affichMenu(quelMenu)
  3.  {
  4.   if (document.all)
  5.   {
  6.    if (quelMenu == 1) { (LEMENUUN.style.visibility == 'visible') ? LEMENUUN.style.visibility = 'hidden' : LEMENUUN.style.visibility = 'visible'; }
  7.    else if (quelMenu == 2) { (LEMENUDEUX.style.visibility == 'visible') ? LEMENUDEUX.style.visibility = 'hidden' : LEMENUDEUX.style.visibility = 'visible'; }
  8.    else if (quelMenu == 3) { (LEMENUTROIS.style.visibility == 'visible') ? LEMENUTROIS.style.visibility = 'hidden' : LEMENUTROIS.style.visibility = 'visible'; }
  9.    else if (quelMenu == 4) { (LEMENUQUATRE.style.visibility == 'visible') ? LEMENUQUATRE.style.visibility = 'hidden' : LEMENUQUATRE.style.visibility = 'visible'; }
  10.    else if (quelMenu == 5) { (LEMENUCINQ.style.visibility == 'visible') ? LEMENUCINQ.style.visibility = 'hidden' : LEMENUCINQ.style.visibility = 'visible'; }
  11.   }
  12.   else if (!document.all && document.getElementById)
  13.   {
  14.    if (quelMenu == 1) { (document.getElementById("LEMENUUN" ).style.visibility == 'visible') ? document.getElementById("LEMENUUN" ).style.visibility = 'hidden' : document.getElementById("LEMENUUN" ).style.visibility = 'visible'; }
  15.    else if (quelMenu == 2) { (document.getElementById("LEMENUDEUX" ).style.visibility == 'visible') ? document.getElementById("LEMENUDEUX" ).style.visibility = 'hidden' : document.getElementById("LEMENUDEUX" ).style.visibility = 'visible'; }
  16.    else if (quelMenu == 3) { (document.getElementById("LEMENUTROIS" ).style.visibility == 'visible') ? document.getElementById("LEMENUTROIS" ).style.visibility = 'hidden' : document.getElementById("LEMENUTROIS" ).style.visibility = 'visible'; }
  17.    else if (quelMenu == 4) { (document.getElementById("LEMENUQUATRE" ).style.visibility == 'visible') ? document.getElementById("LEMENUQUATRE" ).style.visibility = 'hidden' : document.getElementById("LEMENUQUATRE" ).style.visibility = 'visible'; }
  18.    else if (quelMenu == 5) { (document.getElementById("LEMENUCINQ" ).style.visibility == 'visible') ? document.getElementById("LEMENUCINQ" ).style.visibility = 'hidden' : document.getElementById("LEMENUCINQ" ).style.visibility = 'visible'; }
  19.   }
  20.   else if (document.layers)
  21.   {
  22.    if (quelMenu == 1) { (document.LEMENUUN.style.visibility == 'visible') ? document.LEMENUUN.style.visibility = 'hidden' : document.LEMENUUN.style.visibility = 'visible'; }
  23.    else if (quelMenu == 2) { (document.LEMENUDEUX.style.visibility == 'visible') ? document.LEMENUDEUX.style.visibility = 'hidden' : document.LEMENUDEUX.style.visibility = 'visible'; }
  24.    else if (quelMenu == 3) { (document.LEMENUTROIS.style.visibility == 'visible') ? document.LEMENUTROIS.style.visibility = 'hidden' : document.LEMENUTROIS.style.visibility = 'visible'; }
  25.    else if (quelMenu == 4) { (document.LEMENUQUATRE.style.visibility == 'visible') ? document.LEMENUQUATRE.style.visibility = 'hidden' : document.LEMENUQUATRE.style.visibility = 'visible'; }
  26.    else if (quelMenu == 5) { (document.LEMENUCINQ.style.visibility == 'visible') ? document.LEMENUCINQ.style.visibility = 'hidden' : document.LEMENUCINQ.style.visibility = 'visible'; }
  27.   }
  28.  }
  29. </script>
  30. <script language='JavaScript1.2' type='text/javascript'>
  31.  ie4=document.all
  32.  ns6Moz=(document.getElementById) && (!document.all)
  33.  ns4=document.layers
  34.  function placeMenu5()
  35.  {
  36.   if (ie4)
  37.   {
  38.    LEMENU.style.pixelTop = document.body.scrollTop;
  39.    LEMENUTEST.style.pixelTop = document.body.scrollTop;
  40.    LEMENUUN.style.pixelTop = document.body.scrollTop+60;
  41.    LEMENUDEUX.style.pixelTop = document.body.scrollTop+60;
  42.    LEMENUTROIS.style.pixelTop = document.body.scrollTop+60;
  43.    LEMENUQUATRE.style.pixelTop = document.body.scrollTop+60;
  44.    LEMENUCINQ.style.pixelTop = document.body.scrollTop+60;
  45.   }
  46.   else if (!document.all && document.getElementById)
  47.   {
  48.    document.getElementById("LEMENU" ).style.top=window.pageYOffset;
  49.    document.getElementById("LEMENUTEST" ).style.top=window.pageYOffset+50;
  50. /*    document.getElementById("LEMENUUN" ).style.top=window.pageYOffset+60;
  51.    document.getElementById("LEMENUDEUX" ).style.top=window.pageYOffset+60;
  52.    document.getElementById("LEMENUTROIS" ).style.top=window.pageYOffset+60;
  53.    document.getElementById("LEMENUQUATRE" ).style.top=window.pageYOffset+60;
  54.    document.getElementById("LEMENUCINQ" ).style.top=window.pageYOffset+60;
  55. */   }
  56.   else if (ns4)
  57.   {
  58.    eval(document.LEMENU.top=eval(window.pageYOffset));
  59.    eval(document.LEMENUTEST.top=eval(window.pageYOffset));
  60.    eval(document.LEMENUUN.top=eval(window.pageYOffset+60));
  61.    eval(document.LEMENUDEUX.top=eval(window.pageYOffset+60));
  62.    eval(document.LEMENUTROIS.top=eval(window.pageYOffset+60));
  63.    eval(document.LEMENUQUATRE.top=eval(window.pageYOffset+60));
  64.    eval(document.LEMENUCINQ.top=eval(window.pageYOffset+60));
  65.   }
  66.   if (ie4 || ns6Moz || ns4) tempo = setTimeout("placeMenu5()",10);
  67.  }
  68.  window.onload = placeMenu5;
  69. </script>


Depuis ma mauvaise manipulation tout marche correctement sous IE (comme avant koi) par contre sous Moz j'ai plus le déplacement de mes calques lors des scrolls du browser mais le 1er script fonctionne tjrs. Je soupsonne le test ns6Moz de foirer donc j'ai éssayé pleins de combinaisons différentes mais rien à faire :(
 
 
 :jap: merci de votre aide


---------------
Antisocial, tu perds ton sang froid Tu masques ton visage en lisant ton journal Repense a toutes ces années de service Antisocial, bientôt les années de sévices Enfin le temps perdu qu'on ne rattrape plus 4Ñ 7¡ $Ø Ç!ÂL
Reply

Marsh Posté le 21-05-2004 à 12:39:05   

Reply

Marsh Posté le 21-05-2004 à 12:52:53    

[:totoz]
 
c'est pour faire quoi exactement ?  
t'as pas une url ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 21-05-2004 à 13:13:14    

Déplacer les DIVs lors du scroll pour qu'ils soient tjrs en haut de la page
 
Et pour l'état visible/caché je te laisse comprendre : http://krxtophe.homeip.net
 
Alors le menu à gauche C l'ancien et le menu en haut c'est le nouveau/son remplaçant là j'ai les deux en // mais l'ancien sera suppr quand le nouveau sera 100% OK


---------------
Antisocial, tu perds ton sang froid Tu masques ton visage en lisant ton journal Repense a toutes ces années de service Antisocial, bientôt les années de sévices Enfin le temps perdu qu'on ne rattrape plus 4Ñ 7¡ $Ø Ç!ÂL
Reply

Marsh Posté le 21-05-2004 à 14:10:52    

KrX a écrit :

Déplacer les DIVs lors du scroll pour qu'ils soient tjrs en haut de la page


et pourquoi de na pas faire l'inverse ? c'est à dire faire scroller le contenu.
 
http://www.w3.org/Style/Examples/007/menus.html
http://www.limpid.nl/lab/css/fixed/h
 
(et plus généralment : http://www.limpid.nl/lab/css/fixed/ )
 
 
 

KrX a écrit :


Et pour l'état visible/caché je te laisse comprendre : http://krxtophe.homeip.net


 
y'a moyen de factoriser ton code !!!


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed