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 :

Gestion des styles dans un menu


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 49
    Points
    49
    Par défaut Gestion des styles dans un menu
    Bonjour,

    Je suis en train d'essayé de gerer un menu vertical avec un bout de code javascript. Je voudrais que lorsqu'on clic sur le menu "maitre", le nom du menu se mettre en gras, puis l'affichage du sous-menu normal (sans style particulier). J'arrive a la faire mais le problème c'est qu'a aucun moment je ne lui dit "quand on clic sur un autre menu maitre, tu met en normal tout les autres menu menu maitre et en gras celui sur lequel on a cliqué". En gros, il met en gras, mais ne remet jamais en normal, ce qui fait qu'a la fin, tout est en gras, même si c'est pas sélectionner.

    Je crois bien avoir cerné le problème mais je n'ai absolument aucune idée de comment le résoudre...

    Voila mon code (ne faites pas attention au smarty) :

    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
    {capture name=menu}
    
    {literal}
    <script type="text/javascript">
    <!--
    window.onload=show;
    function show(id) {
    var selectedMenu = id;
    var d = document.getElementById(id);
    	for (var i = 1; i<=10; i++) {
    		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    	}
    if (d) {d.style.display='block';}
    }
    //-->
    </script>
    {/literal}
    
    <dl id="menu">
    {assign var=counter value=1}
    {foreach from=$allcategories item=cat}
    {if $cat.parentid eq $config.Appearance.category_bottoms}
    	
    	<dt onclick="javascript:show('smenu{$counter}'); this.style.fontWeight='bold';">
    {$cat.category}</dt>
    
    	<dd id="smenu{$counter}">
    	<ul>		
    
    {foreach from=$allcategories item=subcat}
    {if $subcat.parentid eq $cat.categoryid}
    
    	<li><font class="CategoriesList"><a href="home.php?cat={$subcat.categoryid}" class="VertMenuItems">&nbsp;&nbsp;{$subcat.category}</a></font></li>
    
    {/if}
    {/foreach}
    </ul>
    			</dd>	
    {assign var=counter value=$counter+1}
    {/if}
    {/foreach}
    </dl>
    {/capture}
    { include file="menu.tpl" 
    menu_title=$lng.lbl_bottoms menu_content=$smarty.capture.menu cellpadding=$fc_cellpadding}
    Merci d'avance de votre aide,
    Deb

  2. #2
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    la solution c'est que au moment ou tu clique, tu met tout en "normal", et celui que tu veut tu le met en gras
    là actuellement tu me tcelui que tu veut en gras, et tu ne touche pas aux autres, c'est donc normal qu'ils restent en gras
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    Merci pour ta réponse.
    Je suis tout a fait d'accord avec toi, j'avais bien compris ca.
    Le problème c'est qu'avec ma boucle smarty, je vois pas comment lui dire de mettre les autres en gras puisque je génère dynamiquement mon menu en foction d'un tableau PHP (résultat d'une requête dans ma BDD).

    Je sais pas, peut etre que je fais un blocage psychologique...


    Merci d'avance,
    Deb

  4. #4
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    ah oui desolé j'avais pas vu ça
    tu peut mettre des id ou des class sur tes menus ?
    parce que si oui , tu peut facilement gerer leurs styles apres
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Je vais essayé de mettre des id....
    Faut que je vois comment je peux faire ca avec ma boucle.
    Je te tiens au courant.
    Merci
    Deb

  6. #6
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    C'est bon ca marche.
    J'ai rajouté un id a ma balise dt et ce bout de code javascript et ca marche :

    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
    <script type="text/javascript">
    <!--
    window.onload=show;
    function show(id) {
    for (var j = 1; j<=10; j++) {
    		if (document.getElementById('ssmenu'+j)) {document.getElementById('ssmenu'+j).style.fontWeight='normal';}
    	}
    var d = document.getElementById(id);
    	for (var i = 1; i<=10; i++) {
    		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    	}
    if (d) {d.style.display='block';}
    }
    //-->
    </script>
    Merci bcp !
    deb

  7. #7
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    cool
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des styles de titres dans un tableau
    Par Prodidac dans le forum Word
    Réponses: 2
    Dernier message: 26/04/2013, 11h59
  2. asp:menu gestion des styles
    Par gregfriends dans le forum ASP.NET
    Réponses: 1
    Dernier message: 18/04/2008, 11h54
  3. [Sécurité]Gestion des accès dans plusieurs bases
    Par vincentj dans le forum Débuter
    Réponses: 1
    Dernier message: 05/01/2005, 14h19
  4. Gestion des headers dans un Makefile
    Par Weren dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 09/11/2004, 10h44
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

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