Probleme du passage d'un script en HTML

guillaumedu69 Messages postés 2 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 18 janvier 2007 - 17 janv. 2007 à 16:28
guillaumedu69 Messages postés 2 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 18 janvier 2007 - 18 janv. 2007 à 09:37
Bonjours à tous.

Dsl je ne savait pas ou mettre se post alors je l'ai mis ici. si un admin lui trouve une mailleur place il a cas le deplacer et me dire ou il l'a mit

Je viens vous demander un petit coup de pousse car je n'arrive pas à ce que mon visuel soit completement statique.
je fait appel à un petit programme en javascript et une fois sur ma page web il y a un bug qui fait que mon menu se cache et apparait. je ne comprend pas trop ce qui ce passe c'est pourquoi je viens vous voir.
mais pour mieux que vous compreniez voici mon code :
function montre(id)
{
    if (document.getElementById)
    {
        document.getElementById(id).style.display="block";
     } else if (document.all)
     {
          document.all[id].style.display="block";
      } else if (document.layers)
      {
          document.layers[id].display="block";
       }
}

function cache(id)
{
    if (document.getElementById)
    {
        document.getElementById(id).style.display="none";
    } else if (document.all)
    {
        document.all[id].style.display="none";
    } else if (document.layers)
    {
        document.layers[id].display="none";
    }
}

Ensuite je fait appel à chacune des fonction par :
onmouseover="montre('sous-menu2');"
onmouseout="cache('sous-menu2');"

Donc pour resumer mon probleme apres le code c'est qu'il y a un clignotement de mon sous menu. Une fois qu'il est apparue, si je me deplace dans le sous-menu sur les zone qui ne sont pas des liens alors le background disparait et réapparait apres.

Tout viens a qui sais attendre ... sauf la connaissance du javascript -_-'

2 réponses

ralecul Messages postés 111 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 1 août 2008
17 janv. 2007 à 18:15
Salut,

Rien à voir (quoi que...) mais moi j'utilise plutôt la fonction suivante :

/* Fonction de recherche d'un élément ID compatible avec tous les navigateurs */
function FindID(id)
{
    if(document.layers)
        return document.layersid;

    if(document.all && !document.getElementById)
        return document.allid;

    if(document.all && document.getElementById)
        return document.getElementById(id);
    
    if(!document.all && document.getElementById)
        return document.getElementById(id);
}

Et donc les deux autres fonctions deviennent donc :

function montre(id)
{
    var obj = FindID(id);
    obj.style.display="block";
}
function cache(id)
{
  var obj = FindID(id);

    obj.style.display="none";

}

Sinon sans le code HTML correspondant au menu je ne pense pas que l'on puisse vous aider plus que ça...

Henri
0
guillaumedu69 Messages postés 2 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 18 janvier 2007
18 janv. 2007 à 09:37
.menu-general1,menu-general2,menu-general3 { /* défini les boites qui comprenent chaque menu de base */
  float:middle ; /* Les boite sont calées à gauche */
  padding:0 ; /* marges intérieures à 0 */
  left:36%;
  margin-left: auto ;
  margin-right:auto
  position : absolute ; /* boite positionnée par rapport à la boite parent, ici l'écran */
  top : 54px; /* Début (par rapport au haut de page) des sous-menus */
  width:8% ; /* largeur des boites du menu de base */

#sous-menu1, #sous-menu2, #sous-menu3 { /*défini les 3 boites des 3 sous-menues */
  display: none; /* les sous-menus ne sont pas affichés */
  margin: 0; /* marges extérieures à 0 */
  padding : 0; /* marges intérieures à 0 */
  text-align: center; /* Le texte est centré */
  position : absolute ; /* boite positionnée par rapport à la boite parent, ici l'écran */
  top : 98px; /* Début (par rapport au haut de page) des sous-menus */
  left : 36%; /* Début (par rapport à la gauche de la page) des sous-menus */
  width : 1%} /* largeur des sous-menus par rapport à la boite parent (ici la page)*/

Voici mes CSS definnissant mes sous menu.

Thèmes
<!-- indique au JS que lorsque la sourie survol la 1er boite "menu-général", il faut montrer le sous-menu1, et sinon, il faut le cacher -->
<!-- indique au JS que lorsque la sourie survol la boite "sous-menu1", il faut montrer le sous-menu1, et sinon, il faut le cacher -->
    ....

et donc je repete le pb c'est que le sous menu ne reste pas statique. des qu'on passe sur une autre valeur du sous menu tout disparait.

J'ai mis l'integralité de mon code mon code html mais la class onglet n'est pas utile pour le probleme (enfin il me semble ) c'est pourquoi je ne l'ai pas mis

En esperant avoir une reponse au plus tot. Merci

Tout viens a qui sais attendre ... sauf la connaissance du javascript -_-'
0
Rejoignez-nous