2013-02-01 8 views
0

Je travaille sur un site web qui met en place des onglets via javascript, et je voudrais créer un bouton qui va à l'onglet 'suivant'. Je ne me soucie pas si je dois coder en dur dans les identifiants de tabulation dans le javascript ou quoi, mais indépendamment je voudrais pouvoir avancer les onglets.Changer les onglets Javascript avec un bouton?

EDIT3: Voici une implémentation jfiddle de ce que j'ai. Je veux juste que le bouton suivant soit capable de faire avancer les onglets de la même manière que de cliquer dessus. Merci!

http://jsfiddle.net/Cd5qb/

Voici le code que j'ai pour les onglets de travail actuels, sans bouton:

var tabContents = $(".tab_content").hide(), 
    tabs = $("ul.tabs li"); 

tabs.first().addClass("active").show(); 
tabContents.first().show(); 

tabs.click(function() { 
    var $this = $(this), 
     activeTab = $this.find('a').attr('href'); 
    if(!$this.hasClass('active')){ 
     $this.addClass('active').siblings().removeClass('active'); 
     tabContents.hide().filter(activeTab).fadeIn(); 
    } 
    return false; 
}); 

Je suis en train de mettre en œuvre quelque chose de similaire à la tabs.click pour un bouton, et voici ce que j'ai jusqu'ici:

var tabbtn = $(".tabbutton"); 
tabbtn.click(function() { 
    var listItem = document.getElementById('tab2'); 
    var $this = $(this), 
     activeTab = $this.find('a').attr('href'); 
    tabContents.hide().filter("#tab2").fadeIn(); 

    return false; 
}); 

Cela affichera réellement les informations de l'onglet droit, mais il ne changera pas la tête de l'onglet er est surligné.

Vous avez des idées? Merci d'avance pour l'aide!

+0

Pouvons-nous voir votre code HTML? Ou peut-être un exemple sur jsfiddle.net? –

+0

Désolé pour ça! J'ai ajouté quelques exemples HTML, j'espère que ça aide! – SuperXero

+0

Utilisez-vous les onglets 'jQuery UI'? Quand appelez-vous '.tabs'? –

Répondre

1

Que diriez-vous:

$(".tabbutton").click(function(){ 
    var nextTab = parseInt($("li.active").attr("id"), 10) + 1; 
    if(nextTab === 4){ nextTab = 1; } 
    $("#"+nextTab).click(); 
}); 

et l'ajout d'un identifiant équivalent numérique aux éléments li?

violon de travail est ici: http://jsfiddle.net/gugahoi/Cd5qb/1/

MISE À JOUR:

Ok, here is the new fiddle avec seulement le bouton changer les onglets.

Ceci est d'autant js:

var tabContents = $(".tab_content").hide(), 
    tabs = $("ul.tabs li"); 

tabs.first().addClass("active").show(); 
tabContents.first().show(); 

$(".tabbutton").click(function(){ 
    var nextTab = parseInt($("li.active").attr("id"), 10) + 1; 
    if(nextTab === 4){ nextTab = 1; } 
    tabs.removeClass("active"); 
    $("#"+nextTab).addClass("active"); 
    tabContents.hide(); 
    $("#tab"+nextTab).fadeIn("slow"); 
}); 

Et c'est la seule mise à jour nécessaire dans le code HTML:

<ul class="tabs clearfix"> 
    <li id="1"><a href="#">Tab1</a></li> 
    <li id="2"><a href="#">Tab2</a></li> 
    <li id="3"><a href="#">Tab3</a></li> 
</ul> 
+0

Intéressant - il fonctionne parfaitement dans le violon, mais ne fait rien sur mon site actuel. Bien que j'aie essayé votre mot-à-mot-mot peut-être cela pourrait être pourquoi. Aussi bien que ...Je voudrais supprimer la possibilité pour l'utilisateur de cliquer sur les en-têtes des onglets. Donc idéalement .. le bouton est la seule chose qui navigue à travers les onglets. Il semble que vous appelez la fonction de clic des onglets? Si vous avez des idées, ce serait génial! Merci de votre aide! – SuperXero

+0

Mis à jour avec vos nouvelles demandes. –

0

@ Gustavo Hoirisch: Avec votre code précédent Moi aussi je ne retiré 'actif' de 'tabContents' et était sur le point de poster. Anywayz travail grt.

Questions connexes