Bonjour a tous,
Bon je ne suis pas très douée en javascript, mais j'ai essaye de me débrouiller seule. Mon code fonctionne, mais je me rends compte qu'avec toutes les données que j'ai je suis sur de pouvoir l'optimiser, mais je ne sais pas comment
Pas de version en ligne, qu'en local, donc voici un peu de code si ca peut vous éclaircir.
Niveau fonctionnalite, c'est une liste de titres (onglets) qui deroule horizontalement. Par defaut, la vue 1 est active pour qu'on voit directement le premier contenu. Et lorsqu'on clique sur la vue 2, cela affiche le contenu 2.
Mon code HTML ici
Mon code javascript (pas optimise)
Et mon code javascript optimise a ma facon, je reussis a afficher le bloc que je veux sauf que je si je clique sur le bloc 1 et ensuite le bloc 2 ils s'affichent l'un en dessous de l'autre. J'aimerais que le bloc 1 lui disparaisse si je clique sur le #2. Quelqu'un a une idee ?
Modifié par fanny95 (13 Nov 2013 - 16:54)
Bon je ne suis pas très douée en javascript, mais j'ai essaye de me débrouiller seule. Mon code fonctionne, mais je me rends compte qu'avec toutes les données que j'ai je suis sur de pouvoir l'optimiser, mais je ne sais pas comment

Pas de version en ligne, qu'en local, donc voici un peu de code si ca peut vous éclaircir.
Niveau fonctionnalite, c'est une liste de titres (onglets) qui deroule horizontalement. Par defaut, la vue 1 est active pour qu'on voit directement le premier contenu. Et lorsqu'on clique sur la vue 2, cela affiche le contenu 2.
Mon code HTML ici
<div id="ca-container" class="ca-container">
<div class="ca-wrapper">
<div class="ca-item"><a href="#" id="view1" class="actif">Titre 1</a></div>
<div class="ca-item"><a href="#" id="view2">Titre 2</a></div>
</div>
</div>
<div class="tabcontents">
<div id="view1" class="tabcontent actif">Contenu 1</div>
<div id="view2" class="tabcontent">Contenu 2</div>
</div>
Mon code javascript (pas optimise)
$(".ca-item #view1").click(function() {
$(this).addClass("actif");
$('.ca-item #view2').removeClass("actif");
$('.tabcontents #view1').addClass("actif");
$('.tabcontents #view2').removeClass("actif");
});
$(".ca-item #view2").click(function() {
$(this).addClass("actif");
$('.ca-item #view1').removeClass("actif");
$('.tabcontents #view2').addClass("actif");
$('.tabcontents #view1').removeClass("actif");
});
Et mon code javascript optimise a ma facon, je reussis a afficher le bloc que je veux sauf que je si je clique sur le bloc 1 et ensuite le bloc 2 ils s'affichent l'un en dessous de l'autre. J'aimerais que le bloc 1 lui disparaisse si je clique sur le #2. Quelqu'un a une idee ?
$(".ca-item a").click( function affich_div()
{
var id = $(this).prop('id');
$('.tabcontents #' + id).css("display","block");
}
);
Modifié par fanny95 (13 Nov 2013 - 16:54)