Voici le code minimal pour faire une tabulation (des onglets que l’on peut cliquer pour changer de contenu)
Comment faire des onglets cliquable en javascript?
Le principe :
On a en fait une rangée d’éléments cliquables, que l’on va mettre dans des <li>, mais ce n’est pas obligatoire, et ensuite les différentes <div> que l’on va révéler ou cacher suivant les <lI> cliquer.
<html> <head> <title>Tutorial theme</title> </head> <body> <style> .tab-menu { padding: 0; } .tab-menu li { display: inline-block; } .tab-menu .active { background: yellow; } </style> <ul class="tab-menu"> <li><a href="#tab-1">Tab 1</a></li> <li><a href="#tab-2">Tab 2</a></li> <li><a href="#tab-3">Tab 3</a></li> </ul> <div id="tab-1" class="tab-content" > Contenu du tab 1 </div> <div id="tab-2" class="tab-content" > Contenu du tab 2 </div> <div id="tab-3" class="tab-content" > Contenu du tab 3 </div> </body> <script type="text/javascript"> $(document).ready(function() { $('.tab-content').slice(1).hide(); $('.tab-menu li').eq(0).addClass('active'); $('.tab-menu li a').click(function(e) { e.preventDefault(); var content = $(this).attr('href'); $(this).parent().addClass('active'); $(this).parent().siblings().removeClass('active'); $(content).show(); $(content).siblings('.tab-content').hide(); }); }); </script> </html>
Donc pour résumer en cliquant un lien, ce lien a sa classe css à active, les autres qui sont à côté sont inactifs, content est égal à ce qu’il y a dans l’attribut href, $(content) va en réalité sélectionner l’élément ayant l’id (unique cela va de soi), et le montre, tous ses voisins sont cachés.