Je suis un peu débutant en programmation mais très curieux, alors vous comprendrez ma faute...
J'ai voulu faire une espèce de navigation par section et sous-section en Javascript, et j'ai fini par trouver cette super solution :
- Code: Tout sélectionner
<html>
<head>
<script type="text/javascript" language="javascript">
<!--
function desafficher(classe)
{
var tab_class = document.getElementsByClassName(classe);
for (var i=0;i<tab_class.length;i++) {
tab_class.style.display="none";
}
}
function afficher(id)
{
document.getElementById(id).style.display="block";
}
//-->
</script>
</head>
<body>
<div id="boutons" style="position:absolute; left:20px;">
<div id="chap1">
<div id="part1">
<div id="sec1">
<a onclick="desafficher('sec');afficher('1.1.1');">1.1.1</a>
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('1.1.2');">1.1.2</a>
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('1.1.3');">1.1.3</a>
</div>
</div>
<div id="part2">
<div id="sec1">
<a onclick="desafficher('sec');afficher('1.2.1');">1.2.1</a>
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('1.2.2');">1.2.2</a>
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('1.2.3');">1.2.3</a>
</div>
</div>
<div id="part3">
<div id="sec1">
<a onclick="desafficher('sec');afficher('1.3.1');">1.3.1</a>
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('1.3.2');">1.3.2</a>
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('1.3.3');">1.3.3</a>
</div>
</div>
</div>
<div id="chap2">
<div id="part1">
<div id="sec1">
<a onclick="desafficher('sec');afficher('2.1.1');">2.1.1
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('2.1.2');">2.1.2
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('2.1.3');">2.1.3
</div>
</div>
<div id="part2">
<div id="sec1">
<a onclick="desafficher('sec');afficher('2.2.1');">2.2.1
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('2.2.2');">2.2.2
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('2.2.3');">2.2.3
</div>
</div>
<div id="part3">
<div id="sec1">
<a onclick="desafficher('sec');afficher('2.3.1');">2.3.1
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('2.3.2');">2.3.2
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('2.3.3');">2.3.3
</div>
</div>
</div>
<div id="chap3">
<div id="part1">
<div id="sec1">
<a onclick="desafficher('sec');afficher('3.1.1');">3.1.1
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('3.1.2');">3.1.2
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('3.1.3');">3.1.3
</div>
</div>
<div id="part2">
<div id="sec1">
<a onclick="desafficher('sec');afficher('3.2.1');">3.2.1
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('3.2.2');">3.2.2
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('3.2.3');">3.2.3
</div>
</div>
<div id="part3">
<div id="sec1">
<a onclick="desafficher('sec');afficher('3.3.1');">3.3.1
</div>
<div id="sec2">
<a onclick="desafficher('sec');afficher('3.3.2');">3.3.2
</div>
<div id="sec3">
<a onclick="desafficher('sec');afficher('3.3.3');">3.3.3
</div>
</div>
</div>
</div>
<div id="texte" style="position:absolute; left:80px;">
<div>
<div>
<div id="1.1.1" class="sec">
1.1.1
</div>
<div id="1.1.2" class="sec">
1.1.2
</div>
<div id="1.1.3" class="sec">
1.1.3
</div>
</div>
<div>
<div id="1.2.1" class="sec">
1.2.1
</div>
<div id="1.2.2" class="sec">
1.2.2
</div>
<div id="1.2.3" class="sec">
1.2.3
</div>
</div>
<div>
<div id="1.3.1" class="sec">
1.3.1
</div>
<div id="1.3.2" class="sec">
1.3.2
</div>
<div id="1.3.3" class="sec">
1.3.3
</div>
</div>
</div>
<div>
<div>
<div id="2.1.1" class="sec">
2.1.1
</div>
<div id="2.1.2" class="sec">
2.1.2
</div>
<div id="2.1.3" class="sec">
2.1.3
</div>
</div>
<div>
<div id="2.2.1" class="sec">
2.2.1
</div>
<div id="2.2.2" class="sec">
2.2.2
</div>
<div id="2.2.3" class="sec">
2.2.3
</div>
</div>
<div>
<div id="2.3.1" class="sec">
2.3.1
</div>
<div id="2.3.2" class="sec">
2.3.2
</div>
<div id="2.3.3" class="sec">
2.3.3
</div>
</div>
</div>
<div>
<div>
<div id="3.1.1" class="sec">
3.1.1
</div>
<div id="3.1.2" class="sec">
3.1.2
</div>
<div id="3.1.3" class="sec">
3.1.3
</div>
</div>
<div>
<div id="3.2.1" class="sec">
3.2.1
</div>
<div id="3.2.2" class="sec">
3.2.2
</div>
<div id="3.2.3" class="sec">
3.2.3
</div>
</div>
<div>
<div id="3.3.1" class="sec">
3.3.1
</div>
<div id="3.3.2" class="sec">
3.3.2
</div>
<div id="3.3.3" class="sec">
3.3.3
</div>
</div>
</div>
</div>
</body>
</html>
Mais bien sûr, car il y a toujours un Mais, le GetElementByClassName n'est pas pris en charge par Internet Explorer. Impensable, donc. Dommage, j'avais adopté cette solution pour cette partie de mon site et même toutes les autres! À chaque fois qu'on cliquait sur quelque chose, c'était "désafficher:sec (autrement dit tout)" et afficher:ça! C'était merveilleux!
Quelqu'un pourrait me montrer à quoi pourrait ressembler ce code avec jQuery? Je suis très peu familier...
Merci!