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 :

Menu à onglets dynamiques


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Menu à onglets dynamiques
    bonjour,

    Je rencontre un problème pour mettre en place en javascript/css/html mon menu à onglets dynamiques (onglet visuellement activé quand page visité).

    En effet ma fonction est bien appelée, le css et le html fonctionnent. Mais c'est la valeur de ma classe (current ou ghost) qui n'est pas modifiée (c'est ça qui détermine la couleur de l'onglet).

    Voici le code html :

    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
     
     
    ...
     
    <link href="_css/styles_generaux.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="_js/jquery.min.js"></script>
    <script type="text/javascript" src="_js/lib.js"></script>
     
    ...
     
    <div id="navbar">
        <ul>
            <li><a id="_0" class="current" onclick="dynamic_navbar(this.id)" href="      <?=BASE_URL ?>www/index.php">&nbsp;&nbsp;&nbsp;Accueil&nbsp;&nbsp;&nbsp;</a></li>
            <li><a id="_1" class="ghost" onclick="dynamic_navbar(this.id)" href="<?=BASE_URL ?>www/profil.php">&nbsp;&nbsp;&nbsp;Mon profil&nbsp;&nbsp;&nbsp;</a></li>
            <li><a id="_2" class="ghost" onclick="dynamic_navbar(this.id)" href="<?=BASE_URL ?>www/projet.php">&nbsp;&nbsp;&nbsp;Projets&nbsp;&nbsp;&nbsp;</a></li>
            <li><a id="_3" class="ghost" onclick="dynamic_navbar(this.id)" href="<?=BASE_URL ?>www/contact.php">&nbsp;&nbsp;&nbsp;Contact&nbsp;&nbsp;&nbsp;</a></li>
        </ul>
    </div>
    Et le code javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function dynamic_navbar(eltId) {
        arrLinkId = new Array('_0', '_1', '_2', '_3');
        for (i=0; i<arrLinkId.length; i++) {
            if ( arrLinkId[i] == eltId ) {
                document.getElementById(arrLinkId[i]).className = 'current';
            } else {
                document.getElementById(arrLinkId[i]).className = 'ghost';  
            }
        }
    }
    C'est au niveau de document.getElementById(arrLinkId[i]).className = ...; que ça ne fonctionne pas.

    Merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Si la page se recharge donc il est normale que c'est toujours le premier lien qui a la classe "current". Gère le coté serveur.

    A+.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Et si je recharge mes pages avec des href, comment je peux gérer le coté serveur ?

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    A toi de voir si tu es dans quelle page pour attribuer de classe pour chaque lien. Tu peux tester sur quelle page tu es du coté serveur et attribué la classe "current" à l'url correspondant. Mais ça relève plutôt une connaissance de php que du javascript.

    A+.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Ok dans ce cas je n'ai plus besoin de javascript. Je gère au niveau des paramètres des liens de mes onglets.

    Dommage j'aurais souhaité le faire en javascript.

    EDIT : je ne vais quand même pas passer par des paramètres pour des onglets dynamiques. Il doit y avoir moyen de le faire en js tout en rechargeant la page.

    EDIT2 : ou bien j'utilise $_SERVER[''SCRIPT_NAME'] pour récupérer le nom du script (de la page) et je pose mes conditions.

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par Nickoo Voir le message
    Ok dans ce cas je n'ai plus besoin de javascript. Je gère au niveau des paramètres des liens de mes onglets.

    Dommage j'aurais souhaité le faire en javascript.
    Tu peux utiliser AJAX .

    A+.

Discussions similaires

  1. Menu accordion dynamique avec dans chaque onglet un treePanel
    Par beben06 dans le forum Ext JS / Sencha
    Réponses: 3
    Dernier message: 12/07/2010, 10h51
  2. Réponses: 1
    Dernier message: 16/01/2008, 11h21
  3. Menu ressource - dynamique
    Par vic_cw dans le forum Windows
    Réponses: 3
    Dernier message: 09/09/2004, 20h29
  4. [VB6] menu contextuel dynamique
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/07/2003, 12h53

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