JS Styler l'onglet actif d'un menu

Anouchka2586 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'aimerais que l'onglet actif prenne ce style :
#menu li a{
		background: #009E2D;
		color: #FFF;
	}

J'ai ce menu et j'ai crée une fonction qui sera appelée au click de l'onglet mais je ne sais pas comment l'appliquer à l'autre onglet:
<div id="menu">
			<ul>
				<li id="active1"><a href="index.php" accesskey="1" title="" onclick="myFunction();">Homepage</a></li>
				<li id="active2"><a href="clients.php" accesskey="2" title="" onclick="myFunction();">Our Clients</a></li>
			</ul>
		</div>


<script>
		function myFunction(){
          document.getElementById('active').style = 'background: #009E2D; color: #FFF';
        }
	</script>
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Le plus simple
<ul>
  <li id="active1"><a href="index.php" accesskey="1" title="" onclick="myFunction('active1');">Homepage</a></li>
  <li id="active2"><a href="clients.php" accesskey="2" title="" onclick="myFunction('active2');">Our Clients</a></li>
</ul>


function myFunction(id_li){
   document.getElementById(id_li).style = 'background: #009E2D; color: #FFF';
 }


0
Anouchka2586 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   5
 
Ok merci en fait le style s'applique uniquement au click et disparait, j'aimerais que le style reste lorsque je suis sur la page associée au lien.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Le problème, c'est que lors du cliques sur un lien, tu rediriges vers une autre page....index.php ou clients.php

Il ne faut donc pas gérer en javascript... mais en php ..

Un truc du genre
$currentPageName =  basename($_SERVER['PHP_SELF']); /* Returns The Current PHP File Name */
if(  $currentPageName == "index.php" ){
   // ici tu places ton code pour mettre la couleur voulue pour ta page index  
}

if(  $currentPageName == "clients.php" ){
   // ici tu places ton code pour mettre la couleur voulue pour ta page clients
}


0
Anouchka2586 Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci, j'ai fait ceci mais le style s'applique uniquement au clic de la souris après ça disparaît :
$currentPageName =  basename($_SERVER['PHP_SELF']); /* Returns The Current PHP File Name */
if((  $currentPageName == "index.php" ) || (  $currentPageName == "clients.php" )) {
   #menu .current_page_item a
	{
		background: #009E2D;
		color: #FFF;
	} 
}

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu fais n'importe quoi...
Tu ne peux pas mettre du css n'importe comment dans du code php...
0