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 :

Evènement sur un liens


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut Evènement sur un liens
    Hi all !

    Alors voilà j'ai 4 liens d'un menu, et je voudrais que lorsque je clique sur le liens, il me renvoie à sa page correspondante, et qu'une fois sur la page correspondante, qu'il change de fond, et ceux jusqu'au prochain clik dans le menu.

    pour l'instant j'ai crée 2 classe, l'une normal, l'une quand il y a sélection. J'ai mis des id sur chaque partie du menu, avec un onClick sur chaque liens.

    voici le code HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <td id="topMenu2" class="centerNav"><a href="menu1_nveh.jsp" onclick="javascript:switchMenu(2);">Menu 1</a></td>
    <td id="topMenu3" class="centerNav"><a href="menu3_nveh.jsp" onclick="javascript:switchMenu(3);">Menu 3</a></td>
    <td id="topMenu4" class="centerNav"><a href="menu4_nveh.jsp" onclick="javascript:switchMenu(4);">Menu 4</a></td>
    <td id="topMenu5" class="centerNav"><a href="menu5.jsp" onclick="javascript:switchMenu(5);">Menu 5</a></td>
    Le code Javascript correspondant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function switchMenu(id) {
    for (var i = 2; i<=5; i++) {
    		if (document.getElementById('topMenu'+i)){
    			if(i==id){
    				document.getElementById('topMenu'+i).className='centerNavSelected';
    				alert("class = centerNavSelected");
    			}
    			else{
    				document.getElementById('topMenu'+i).className='centerNav';
    				alert("class = centerNav");
    			}
    		}
    }
    J'ai remarqué qu'en arrivant sur la page demandé, il n'y a rien mais en cliquant sur le bouton précédent, on voit que le menu sélectionné a changé comme je veux

    Une solution ?

    Merci pour vos réponses !

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    Salut,

    je suis pas sur de bien comprendre ce que tu veux.
    Je reformule, dis moi si je me trompe..

    Tu veux cliquer sur un de tes liens et etre dirigé vers la page correspondante (menuX_nveh.jsp).
    Une fois sur cette page tu veux un style (class centerNav) pour ton menu différent selon la page sur laquelle tu es ?

    Tu as donc ton menu dupliqué sur chaque page menuX_nveh.jsp ?

    J'en viens au doute que j'ai en voyant ton code :
    Tu modifies la class centerNav de la page courante en javascript puis tu redirige vers la page menuX_nveh.jsp ? Auquel cas, c'est normal que ca ne marche pas.. il faut soit :
    • que tu appliques un style different directement dans chaque page menuX_nveh,jsp (cas ou tu as dupliqué ton menu dans toutes tes pages)

    • soit tu as une seule page (disons menu_nveh.jsp) et tu changes en javascript ton style vu que tu ne recharge pas ta page.

    Je me suis bien fait comprendre ?....

  3. #3
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Effectivement tu n'a pas tt compris

    Je veux qu'une fois sur la page sélectionné, son liens correspondant ai la classe "centerNavSelected", et le reste en "centerNav".

    Mon menu n' est pas dupliqué, j'ai simplement aucune classe de changé.

    Et là où le comportement est bizarre, c'est qu'en venant sur la page précédente, le menu sélectionné auparavant a sa classe de changé

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    J'ai du mal me faire comprendre ...

    Tu fais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <a href="menu1_nveh.jsp" ...
    <a href="menu3_nveh.jsp"...
    <a href="menu4_nveh.jsp"...
    <a href="menu5.jsp"...
    donc quand tu clique sur ton lien tu fais :

    1) change la class du lien cliqué en centerNavSelected dans la page courante (javascript)
    2) redirige vers une autre page que la page courante

    Ca peut donc pas marcher si ca fonctionne comme ca. Il faut que tu appliques le bon style sur ton menu selon la page dans laquelle tu es.
    Si tu veux changer le style en javascript alors il ne faut pas que tu recharges ta page.

    On est d'accord ?

  5. #5
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Ok mais comment veux tu que j'aille dans la page cliqué si je rafraichit pas ? ça se fait automatiquement non ? et pourquoi le menu cliqué ne garde pas la classe donné quand il es sélectionné ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    Alors la t'as plusieurs solutions, dont :

    • faire des if dans ton fichier contenant ton menu pour afficher le bon style en fonction de la page dans laquelle tu es. (le plus simple).

    • Faire de l'ajax pour ne recharger que le contenu de ta page menu_nveh.jsp" et changer le style en javascript comme tu as fait. Ca implique que tu n'as plus qu'une page jsp au lieu de tes 4 pages par contre.

Discussions similaires

  1. confirmation sur un lien
    Par AlphonseBrown dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/01/2005, 18h49
  2. question sur les liens images
    Par geoffreykill dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/01/2005, 14h37
  3. [JSP][Javascript] click droit sur un lien
    Par Stessy dans le forum Servlets/JSP
    Réponses: 22
    Dernier message: 24/09/2004, 10h14
  4. Non réception d'un evènement sur une JTable
    Par Kant dans le forum Composants
    Réponses: 4
    Dernier message: 28/05/2004, 10h38
  5. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

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