OVH Cloud OVH Cloud

changer style en fonction d'url

6 réponses
Avatar
gontran damas
Bonjour,
je bute sur un pb javascript.
j'ai un menu avec des li et j'aimerai qu'en fonction de l'url la classe
change pour un li donné.
j'ai commencé par faire ça:

<!--
// Change la classe des tag li dans le menu
function ChangeLiClass() {
//où suis je
var monChemin=window.location.href;
monChemin=monChemin.substr(monChemin.lastIndexOf("/")+1);
var a,b,c,d,e,f;
//alors change la propriete du tag li dont l'id est a,b,c ou d
if(document.getElementById){
if(
li.style.class="active";
}
}
ChangeLiClass();
//-->

6 réponses

Avatar
O.L.
gontran damas a utilisé son clavier pour écrire :
Bonjour,
je bute sur un pb javascript.
j'ai un menu avec des li et j'aimerai qu'en fonction de l'url la classe
change pour un li donné.
j'ai commencé par faire ça:

<!--
// Change la classe des tag li dans le menu
function ChangeLiClass() {
//où suis je
var monChemin=window.location.href;
monChemin=monChemin.substr(monChemin.lastIndexOf("/")+1);


J'aurais mis plutôt :

var monChemin=document.location.href;
monChemin=monChemin.substring(monChemin.lastIndexOf("/")+1,
monChemin.length);


--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
YD
Bonjour,
je bute sur un pb javascript.
li.style.class="active";


Deux erreurs dans cette ligne !
- la classe est un attribut de l'élément et non de son
attribut style

- class étant un mot réservé JavaScript, le DOM utilise
la propriété className.

li.className="active";

Pour le reste du script, il semble incomplet...

--
Y.D.

Avatar
ASM
gontran damas a utilisé son clavier pour écrire :

monChemin=monChemin.substr(monChemin.lastIndexOf("/")+1);


J'aurais mis plutôt :


non non c'était bon
on squize le 2ieme attribut si on recherche la totale


et pour Gontran :

function ChangeLiClass(lieu) {
// où suis je ?
var monChemin=window.location.href;
monChemin=monChemin.substr(monChemin.lastIndexOf("/")+1);
// où vais-je ?
var lieu = document.getElementById(lieu).getElementsByTagName('A');
// qu'y faire ?
for(var i=0;i<lieu.length;i++)
if(lieu[i].href==chemin) lieu[i].className = active;
}

ChangeLiClass('menu');



--
Stephane Moriaux et son [moins] vieux Mac


Avatar
O.L.
ASM avait énoncé :
gontran damas a utilisé son clavier pour écrire :

monChemin=monChemin.substr(monChemin.lastIndexOf("/")+1);


J'aurais mis plutôt :


non non c'était bon
on squize le 2ieme attribut si on recherche la totale


Toutes mes excuses, pour moi substr() n'existait qu'en PHP, mais je
viens de découvrir grâce à toi que c'est faux ...

Merci ASM ! :D

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net



Avatar
ASM
ASM avait énoncé :


gontran damas a utilisé son clavier pour écrire :


monChemin=monChemin.substr(monChemin.lastIndexOf("/")+1);


non non c'était bon

on squize le 2ieme attribut si on recherche la totale



Toutes mes excuses, pour moi substr() n'existait qu'en PHP, mais je
viens de découvrir grâce à toi que c'est faux ...


Le message était parti quand j'ai vu l'erreur

donc :
monChemin=monChemin.substring(monChemin.lastIndexOf("/")+1);

et je me doutais bien que qqu'un suivrait

Hop! un point pour toi :-)


--
Stephane Moriaux et son [moins] vieux Mac




Avatar
O.L.
ASM a exposé le 16/11/2005 :
ASM avait énoncé :


gontran damas a utilisé son clavier pour écrire :


monChemin=monChemin.substr(monChemin.lastIndexOf("/")+1);


non non c'était bon

on squize le 2ieme attribut si on recherche la totale



Toutes mes excuses, pour moi substr() n'existait qu'en PHP, mais je viens
de découvrir grâce à toi que c'est faux ...


Le message était parti quand j'ai vu l'erreur

donc :
monChemin=monChemin.substring(monChemin.lastIndexOf("/")+1);

et je me doutais bien que qqu'un suivrait

Hop! un point pour toi :-)


Non non et non !
J'insiste : c'est un point pour *toi* ! :D

Essaye : alert("abcdef".substr(2,3));
Tu verras, ça marche (à mon grand étonnement) ...

@+

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net