Bonjour à tous,
J'ai un problème avec le javascript suivant, à priori simple
Code HTML associé :
Un clic sur chacun des liens affiche un bloc caché avec son contenu et change la classe du lien à la volée.
Problème : pour le dernier lien, <div id="CAT_5_1" class="onglet-off"> , la classe ne passe pas à onglet-on.
Si j'ajoute, dans le code et à la main, ce qui bien sûr ne sera pas possible dans l'application, un sixième lien, la classe ne change pas, alors qu'elle change bien pour le 5ème.
Pourquoi ce js ne peut-il pas changer la classe au dernier lien ?
Merci.
Edit : désolé pour le texte en italique, on dirait que les cités dans le javascript sont interprétés
[/i][/i][/i][/i][/i][/i]
Modifié par Ericf (23 Apr 2009 - 21:20)
J'ai un problème avec le javascript suivant, à priori simple

<script language="JavaScript" type="text/javascript">
function voirBlabla(identifiant,idbrique){
/* on met les autres liens a "off" */
var contener = document.getElementById("liste_tabs_"+idbrique)
var listeLi = contener.getElementsByTagName("div");
for (var i = 0; i < listeLi.length -1 ; i = i+1)
{
if(listeLi[i].id == identifiant)
{
listeLi[i].className = "onglet-on";
}
else
{
if (listeLi[i].className != "separ")
listeLi[i].className = "onglet-off";
}
}
/* on masque les autres contenus */
var listeLi2 = document.getElementById("blablas_"+idbrique).getElementsByTagName("div");
for (var i = 0; i < listeLi2.length; i++){
if(listeLi2[i].id.indexOf('content_CAT_') != -1)
listeLi2[i].style.display = "none";
}
/* on affiche le contenu */
document.getElementById("content_"+identifiant).style.display = "block";
}
</script>
Code HTML associé :
<div id="onglets">
<div id="liste_tabs_1">
<!-- ONGLET SELECTED -->
<div id="CAT_1_1" class="onglet-on"> <a style="cursor:pointer;" onclick="voirBlabla('CAT_1_1','1'); return false;">VISION</a> </div>
<!-- ONGLET SIMPLE -->
<div id="CAT_2_1" class="onglet-off"> <a style="cursor:pointer;" onclick="voirBlabla('CAT_2_1','1'); return false;">VALUES</a> </div>
<!-- ONGLET SIMPLE -->
<div id="CAT_3_1" class="onglet-off"> <a style="cursor:pointer;" onclick="voirBlabla('CAT_3_1','1'); return false;">ENVIRONMENT</a> </div>
<!-- ONGLET SIMPLE -->
<div id="CAT_4_1" class="onglet-off"> <a style="cursor:pointer;" onclick="voirBlabla('CAT_4_1','1'); return false;">OPPORTUNITIES</a> </div>
<!-- ONGLET SIMPLE -->
<div id="CAT_5_1" class="onglet-off"> <a style="cursor:pointer;" onclick="voirBlabla('CAT_5_1','1'); return false;">INNOVATION</a> </div>
</div>
</div>
Un clic sur chacun des liens affiche un bloc caché avec son contenu et change la classe du lien à la volée.
Problème : pour le dernier lien, <div id="CAT_5_1" class="onglet-off"> , la classe ne passe pas à onglet-on.
Si j'ajoute, dans le code et à la main, ce qui bien sûr ne sera pas possible dans l'application, un sixième lien, la classe ne change pas, alors qu'elle change bien pour le 5ème.
Pourquoi ce js ne peut-il pas changer la classe au dernier lien ?
Merci.
Edit : désolé pour le texte en italique, on dirait que les cités dans le javascript sont interprétés

Modifié par Ericf (23 Apr 2009 - 21:20)