IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

cacher calque/ menu déroulant


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 5
    Par défaut cacher calque/ menu déroulant
    Bonjour, j'utilise un script pour afficher un petit menu en Javascript.
    Lors du survol de zones, des calques sont affichés avec els éléments du menu.
    Ce que je n'ai pas réussi à faire, c'est à cacher le menu lorsqu'on sort du menu, ou alors le menu n'était pas utilisable et ça ne marchait qu'avec la première cellule.

    voici le code javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    bgcolor='#152E46';
    bgcolor2='#152E46';
    document.write('<style type="text/css">');
    document.write('.popper { POSITION: absolute; VISIBILITY: hidden; z-index:3; }')
    document.write('#topgauche { position:absolute;  z-index:10; }')
    document.write('A:hover.ejsmenu {color:#FFFFFF; font-size: 9pt ;text-decoration:none;}')
    document.write('A.ejsmenu {color:#152E46; font-size: 9pt ;text-decoration:none;}')
    document.write('</style>')
    document.write('<div style="position:relative;height:20"><DIV class=popper id=topdeck ></DIV>');
    /*
    SCRIPT EDITE SUR L'EDITEUR JAVACSRIPT
    */
     
    /*
    LIENS
    */
     
    zlien = new Array;
    zlien[0] = new Array;
    zlien[1] = new Array;
    zlien[2] = new Array;
    zlien[3] = new Array;
    zlien[4] = new Array;
    //base doculentaire
    zlien[0][0] = '<A HREF="lecture/recherche.asp" CLASS=ejsmenu>Rechercher</A>';
    zlien[0][1] = '<A HREF="lecture/base_documentaire.asp" CLASS=ejsmenu>Explorer les thémes</A>';
    zlien[0][2] = '<A HREF="http://lien1_2" CLASS=ejsmenu>Les fiches thématiques</A>';
    //Actualité
    zlien[1][0] = '<A HREF="lecture/actualites.asp" CLASS=ejsmenu>Actualités</A>';
    zlien[1][1] = '<A HREF="lecture/recherche.asp?rechActu=1" CLASS=ejsmenu>Rechercher</A>';
    zlien[1][2] = '<A HREF="lecture/presse.asp" CLASS=ejsmenu>Revues de presse</A>';
    zlien[1][3] = '<A HREF="lecture/chiffrescles.asp" CLASS=ejsmenu>Chiffres clés</A>';
    zlien[1][4] = '<A HREF="lecture/dossiers.asp" CLASS=ejsmenu>Dossiers</A>';
    //utiles
    zlien[2][0] = '<A HREF="annuaire/annuaire.asp" CLASS=ejsmenu>Annuaires</A>';
    zlien[2][1] = '<A HREF="annonces/annonces_presentation.asp" CLASS=ejsmenu>Petites Annonces</A>';
    zlien[2][2] = '<A HREF="agenda/agenda.asp" CLASS=ejsmenu>Agenda</A>';
    zlien[2][3] = '<A HREF="journaux/choix_journal.asp" CLASS=ejsmenu>Abonnement</A>';
    zlien[2][4] = '<A HREF="diffusion/diffusion.asp" CLASS=ejsmenu>Newsletter</A>';
    zlien[2][5] = '<A HREF="conseils/conseils.asp" CLASS=ejsmenu>Accords mets et vins</A>';
    //mon compte
    zlien[3][0] = '<A HREF="profil.asp" CLASS=ejsmenu>Coordonnées et Profil</A>';
    zlien[3][1] = '<A HREF="services/infos_aoc.asp" CLASS=ejsmenu>Ma sélection</A>';
    zlien[3][2] = '<A HREF="lien4" CLASS=ejsmenu>Agrément en ligne</A>';
    //contact
    zlien[4][0] = '<A HREF="services/contact.asp" CLASS=ejsmenu>Contactez-nous</A>';
    zlien[4][1] = '<A HREF="services/infos_aoc.asp" CLASS=ejsmenu>A propos de monAOC.com</A>';
    zlien[4][2] = '<A HREF="lien5" CLASS=ejsmenu>Devenir partenaire</A>';
     
    var nava = (document.layers);
    var dom = (document.getElementById);
    var iex = (document.all);
    if (nava) { skn = document.topdeck }
    else if (dom) { skn = document.getElementById("topdeck").style }
    else if (iex) { skn = topdeck.style }
    skn.top = 21;
     
    function pop(msg,pos)
    {
    skn.visibility = "hidden";
    a=true
    skn.left = pos;
    var content ="<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 WIDTH=150 ><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1 >";
    //var content =" <table width="525" height="20"  border="0" bgcolor="#152E46" cellpadding="0" cellspacing="0" align="bottom">";
     
    pass = 0
    while (pass < msg.length)
    	{
    	content += "<TR><TD BGCOLOR=#C0CFE7 onMouseOver=\"this.style.background='#36648C'\" onMouseOut=\"this.style.background='#C0CFE7'\" HEIGHT=20><FONT SIZE=1 FACE=\"Verdana\">&nbsp;&nbsp;"+msg[pass]+"</FONT></TD></TR>";
    	pass++;
    	}
    content += "</TABLE></TD></TR></TABLE>";
    if (nava)
      {
        skn.document.write(content);
    	  skn.document.close();
    	  skn.visibility = "visible";
      }
        else if (dom)
      {
    	  document.getElementById("topdeck").innerHTML = content;
    	  skn.visibility = "visible";
      }
        else if (iex)
      {
    	  document.all("topdeck").innerHTML = content;
    	  skn.visibility = "visible";
      }
     
    }
    function kill()
    {
    	skn.visibility = "hidden";
    }
    document.onclick = kill;
     
    document.write('<DIV ID=topgauche><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 WIDTH=525 HEIGHT=20 ><TR><TD><TABLE CELLPADING=0 CELLSPACING=0 BORDER=0 WIDTH=100% HEIGHT=20><TR>')
    document.write('<TD HEIGHT=20 WIDTH=100 ALIGN=left BGCOLOR='+bgcolor+' onMouseOver="pop(zlien[0],5)"   onMouseOut="this.style.background=\''+bgcolor+'\'"><img onMouseOver="pop(zlien[0],5)"   href=# CLASS=ejsmenu height=20 border = "0" src="http://site.sisvac.com/images/basedoc.gif"></TD>')
    document.write('<TD HEIGHT=20 WIDTH=100 ALIGN=left BGCOLOR='+bgcolor+' onMouseOver="pop(zlien[1],130)" onMouseOut="this.style.background=\''+bgcolor+'\'"><img onMouseOver="pop(zlien[1],130)" href=# CLASS=ejsmenu height=20 border = "0"  src="http://site.sisvac.com/images/actualites.gif"></TD>')
    document.write('<TD HEIGHT=20 WIDTH=100 ALIGN=left BGCOLOR='+bgcolor+' onMouseOver="pop(zlien[2],235)" onMouseOut="this.style.background=\''+bgcolor+'\'"><img  onMouseOver="pop(zlien[2],235)" href=# CLASS=ejsmenu height=20 border = "0"  src="http://site.sisvac.com/images/utiles.gif"></TD>')
    document.write('<TD HEIGHT=20 WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="pop(zlien[3],335)" onMouseOut="this.style.background=\''+bgcolor+'\'"><img onMouseOver="pop(zlien[3],335)" href=# CLASS=ejsmenu height=20 border = "0" src="http://site.sisvac.com/images/mon-compte.gif"></TD>')
    document.write('<TD HEIGHT=20 WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="pop(zlien[4],435)" onMouseOut="this.style.background=\''+bgcolor+'\'"><img onMouseOver="pop(zlien[4],435)" href=# CLASS=ejsmenu height=20 border = "0" src="http://site.sisvac.com/images/contact.gif"></TD>')
    document.write('</TR></TABLE></TD></TR></TABLE></DIV></div>')
    il est dans un fichier ejsmenu.js
    il est appellé comme suit dans du code html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <SCRIPT LANGUAGE="JavaScript1.2" SRC="ejsmenu.js" TYPE='text/javascript'></SCRIPT>
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Salut!

    Sais-tu que Javascript peut être désactivé par le client ? Dans ce cas, ton menu ne fonctionnera pas... Surtout qu'il est possible de le faire avec CSS. En fait, je trouve ton code assez lourd pour un menu. Veux-tu un exemple de menu tout en CSS ?

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    de toute façon, ton code est tout pourri! si tu te documentes un peu sur javascript (==> tuto) tu te demanderas comment quelqu'un a pu créer un truc aussi informe

Discussions similaires

  1. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 08h33
  2. Dimensions d'un Menu déroulant
    Par polo-j dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/02/2005, 14h26
  3. Menu déroulant valeur par défaut
    Par Gourouni dans le forum ASP
    Réponses: 11
    Dernier message: 06/12/2004, 16h31
  4. Menu déroulant suite au passage sur un TMenuItem
    Par James_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/05/2004, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo