Créer des onglets facilement

Dimanche 5 octobre 2008

Langage : JavaScript - Type : Script - Niveau : Débutant

Voici un script permettant de créer très facilement des onglets.
Nous allons utiliser 3 langages :

La struxcture XHTML, qui met en page les onglets. Cette structure est divisé en deux partie, la partie haute regroupant les onglets <div id=”mes_onglets”></div> et la partie basse regroupant les contenus à afficher <div id=”mes_contenus”></div>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div id="mes_onglets">
	<ul>
		<li id="o_1" class="mon_onglet_selected" onclick="changeOnglet(this);">Onglet 1</li>
		<li id="o_2" class="mon_onglet" onclick="changeOnglet(this);">Onglet 2</li>
		<li id="o_3" class="mon_onglet" onclick="changeOnglet(this);">Onglet 3</li>
		<li id="o_4" class="mon_onglet" onclick="changeOnglet(this);">Onglet 4</li>
		<li class="mon_onglet"><a href="http://www.google.fr" target="_blank">Lien</a></li>
		<div class="clear"></div>
	</ul>
</div>
<div id="mes_contenus">
	<div id="co_1" class="mon_contenu">Mon contenu 1</div>
	<div id="co_2" class="mon_contenu" style="display: none;">Mon contenu 2</div>
	<div id="co_3" class="mon_contenu" style="display: none;">Mon contenu 3</div>
	<div id="co_4" class="mon_contenu" style="display: none;">Mon contenu 4</div>
</div>

Le CSS contenant toutes les classes nécéssaires à l’apparence des onglets.

Ce code doit être placé entre les balises <head></head> de la structure xhtml.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
*{
	margin: 0px;
	padding: 0px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
}
body{
	width: 400px;
	margin: 10px auto;
}
a{
	text-decoration: none;
	color: #666;
}
ul, li{
	list-style: none;
}
.mon_onglet{
	float: left;
	padding: 2px 10px;
	margin-right: 5px;
	color: #333;
	background: #d8f8ca;
	border: 1px solid #68ce3e;
	cursor: pointer;
	margin-bottom: -1px;
}	
.mon_onglet:hover{
	background: #b8efa1;
}				
.mon_onglet_selected{
	float: left;
	padding: 2px 10px;
	margin-right: 5px;
	color: #333;
	background: #b8efa1;
	border-top: 1px solid #68ce3e;
	border-right: 1px solid #68ce3e;
	border-left: 1px solid #68ce3e;	
	border-bottom: 1px solid #b8efa1;	
	cursor: pointer;	
	margin-bottom: -1px;
}					
.clear{
	clear: both;
}
.mon_contenu{
	color: #666;
	background: #b8efa1;
	border: 1px solid #68ce3e;
	padding: 10px;				
}
#mes_contenus, #mes_onglets{
	width: 400px;
}

Et le javascript qui va rendre nos onglets dynamiques.

Nous avons une fonction changeOnglet(); qui, lorsque l’on clique sur un onglet, change le statut de tous les onglets.

Ce code doit être aussi placé  entre les balises <head></head> de la structure xhtml.

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function changeOnglet(_this){
	var getOnglets 	= document.getElementById('mes_onglets').getElementsByTagName('li');
	for(var i = 0; i < getOnglets.length; i++){
		if(getOnglets[i].id){
			if(getOnglets[i].id == _this.id){
				getOnglets[i].className = 'mon_onglet_selected';
				document.getElementById('c' + _this.id).style.display 			= 'block';
			}
			else{
				getOnglets[i].className = 'mon_onglet';
				document.getElementById('c' + getOnglets[i].id).style.display 	= 'none';
			}
		}
	}			
}

Exemple


Téléchargement

Cet article a été écrit par :

Johnstyle - qui est l'auteur de 8 article(s).

"Savoir ce que tout le monde sait, c'est ne rien savoir. Le savoir commence là où commence ce que le monde ignore."

Contacter l'auteur

Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • BeBuzz
  • BlogMemes Fr
  • Bloops
  • del.icio.us
  • Digg
  • Digg -fr
  • DZone
  • Facebook
  • Fark
  • Fleck
  • Jook
  • Scoopeo
  • Technorati
  • Tomateo
  • Wikio FR
  • Zapface
  • Zataz

Laisser un commentaire

:alien: :angel: :angry: :blink: :blush: :cheerful: :cool: :cwy: :devil: :dizzy: :ermm: :face: :getlost: :biggrin: :happy: :heart: :kissing: :lol: :ninja: :pinch: :pouty: :sad: :shocked: :sick: :sideways: :silly: :sleeping: :smile: :tongue: :unsure: :w00t: :wassat: :whistle: :wink: :wub: