Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2011, 16h31   #1
Invité de passage
 
Inscription : mars 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 28
Points : 1
Points : 1
Par défaut Supprimer état d'un élément au click d'un autre

Bonjour à tous,

L'intitulé n'est pas forcément très clair...
Voila, j'ai un menu (ul, li) et je souhaite sans rechargement de la page, que lorsque je click sur un des liens du menu, le lien change de couleur au moyen du css, et que cet élément ne redevienne dans sa couleur d'origine que lorsque je click sur un autre des liens du menu lequel à son tour changera de couleur.

En gros je voudrais permettre à l'utilisateur de savoir ou il se situe sur le site au moyen du menu, mais sans charger une autre page ( en fait, il n'y a qu'une div qui change au sein de la page lors d'un click)

J'espère avoir été suffisamment claire.

D'avance merci de m'éclairer un peu.
Natsirt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 16h39   #2
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
Code :
1
2
3
4
5
6
7
8
var lienActif;
 
function activeLien(elem){
  if(!!lienActif)
    lienActif.style.color = couleurParDefaut;
  lienActif = elem;
  lienActif.style.color = couleurActive;
}


Code html :
<a href=# onclick="activeLien(this);gestionDeMonDivEnAjax();">lien</a>
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 09h42   #3
Invité de passage
 
Inscription : mars 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 28
Points : 1
Points : 1
Merci pour la réponse rapide mais j'ai encore quelques soucis qui font que ça ne fonctionne pas. Je suis loin d'être aguerri au javascript. Voila mon code :

Code :
1
2
3
4
5
6
7
8
9
 
<div id="menu">
		    <ul id="nav">
		        <li><a class="ezjax" onclick="activeLien(this);" href="accueil.html">Accueil</a></li>
		        <li><a class="ezjax" onclick="activeLien(this);" href="enbref.html">En bref</a></li>
		        <li><a class="ezjax" onclick="activeLien(this);" href="contact.html">Contact</a></li>
		        <li><a class="ezjax" onclick="activeLien(this);" href="aide.html">Aide au projet</a></li>
		    </ul>
		</div>
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<script type="text/javascript">
var lienActif;
 
function activeLien(elem){
  if(!!lienActif)
    lienActif.style.color = #428752;
  lienActif = elem;
  lienActif.style.color = #852956;
}
</script>
Natsirt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 10h33   #4
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
un petit oubli ^^
Code javascript :
1
2
3
4
5
6
function activeLien(elem){
  if(!!lienActif)
    lienActif.style.color = "#428752";
  lienActif = elem;
  lienActif.style.color = "#852956";
}
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 11h26   #5
Invité de passage
 
Inscription : mars 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 28
Points : 1
Points : 1
Super ca fonctionne ! Enfin si je souhaite que chaque lien adopte une couleur différente comment procéder ? j'ai essayé de multiplier le code et de changer le nom des variables mais ça ne semble pas fonctionner

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<script type="text/javascript">
var lienActif;
 
function activeLien(elem){
  if(!!lienActif)
    lienActif.style.color = "#428752";
  lienActif = elem;
  lienActif.style.color = "#852956";
}
var lienActif2;
 
function activeLien2(elem){
  if(!!lienActif2)
    lienActif2.style.color = "#428752";
    lienActif.style.color = "#428752";
  lienActif2 = elem;
  lienActif2.style.color = "#222222";
}
</script>
Code :
1
2
3
4
5
6
7
8
9
 
<div id="menu">
		    <ul id="nav">
		        <li><a class="ezjax" onclick="activeLien(this);" href="accueil.html">Accueil</a></li>
		        <li><a class="ezjax" onclick="activeLien2(this);" href="enbref.html">En bref</a></li>
		        <li><a class="ezjax" onclick="activeLien(this);" href="contact.html">Contact</a></li>
		        <li><a class="ezjax" onclick="activeLien(this);" href="aide.html">Aide au projet</a></li>
		    </ul>
		</div>
Natsirt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 11h41   #6
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
Passe la couleur en param :
Code javascript :
1
2
3
4
5
6
function activeLien(elem, col){
  if(!!lienActif)
    lienActif.style.color = "#428752";
  lienActif = elem;
  lienActif.style.color = col;
}
sans oublier d'ajouter les couleurs voulues (ici valeurs bidon mais à toi de choisir ^^) dans le HTML :
Code html :
1
2
3
4
<li><a class="ezjax" onclick="activeLien(this, "#111111");" href="accueil.html">Accueil</a></li>
<li><a class="ezjax" onclick="activeLien(this, "#666666");" href="enbref.html">En bref</a></li>
<li><a class="ezjax" onclick="activeLien(this, "#AAAAAA");" href="contact.html">Contact</a></li>
<li><a class="ezjax" onclick="activeLien(this, "#FFFFFF");" href="aide.html">Aide au projet</a></li>
...et nul besoin de dupliquer la fonction ou la variable globale lienActif
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 11h57   #7
Invité de passage
 
Inscription : mars 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 28
Points : 1
Points : 1
Chouet alors, merci !
J'ai le droit d'en poser une dernière :-) ?
Si je veux que le premier lien soit déjà surligné à l'arrivé sur le site ?
Natsirt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 13h07   #8
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 854
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 854
Points : 1 354
Points : 1 354
Citation:
Envoyé par Natsirt Voir le message
Chouet alors, merci !
J'ai le droit d'en poser une dernière :-) ?
Si je veux que le premier lien soit déjà surligné à l'arrivé sur le site ?
fais-le en css/html non ?


sinon en js, bah tu place un bout de code en fin de page ou dans l’évènement window.onload

Code :
(lienActif = document.getElementById('id_du_premier_lien')).style.color = "#ffffff";// remplacer par la couleur voulue
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 13h48   #9
Invité de passage
 
Inscription : mars 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 28
Points : 1
Points : 1
Le top !

Merci beaucoup !
Natsirt est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h44.


 
 
 
 
Partenaires

Hébergement Web