2010-08-14 8 views
0

J'essaie d'utiliser jquery pour créer un effet de tabulation pour plusieurs contenus div. Pour le moment, theres une liste d'éléments que lorsque vous cliquez sur, il déclenche la div avec l'ID correspondant en tant que lien hypertexte. Mais je veux être en mesure d'avoir une fonctionnalité supplémentaire où dans le contenu DIV, theres un lien sur lequel vous cliquez et il montrera le div suivant après, ainsi que mettre en évidence le div actuel, il est sur.jQuery show masquer contenu/div à l'aide de liens/contrôleurs

J'ai presque tout ce qui fonctionne sauf pour mettre en surbrillance le nav correspondant à la DIV actuelle que vous visualisez qui est déclenchée à partir d'un lien interne dans le contenu DIV. J'espère que ce n'est pas trop compliqué à comprendre, ci-dessous est un code de ce que j'ai obtenu jusqu'à présent.

HTML:

<div> 
    <div id="page1"> 
     <p>xxx</p> 
     <p><a href="#page2">Continue &raquo;</a></p> 
    </div> 
    <div id="page2"> 
     <p>xxx</p> 
    </div> 
</div><!-- /tabContainer --> 
<div> 
    <span>Page</span> 
    <ul> 
     <li><a href="#page1">1</a></li> 
     <li><a href="#page2">2</a></li> 
    </ul> 
</div><!-- /pagination --> 

javascript:

$(".tabContent").hide(); 
$("ul.tabs li:first").addClass("active").show(); 
$(".tabContent:first").show(); 

$("ul.tabs li").click(function(e) { 
e.preventDefault(); 
    $("ul.tabs li").removeClass("active"); 
    $(this).addClass("active"); 
    $(".tabContent").hide(); 

    var activeTab = $(this).find("a").attr("href"); 
    $(activeTab).fadeIn(); 
    return false; 
});  

$(".continue").click(function(e) { 
    e.preventDefault(); 
    var activePage = $(this).attr("href"); 
    $(this).parent().parent().hide(); 
    $(activePage).fadeIn(); 

    $("ul.tabs li").removeClass("active"); 
    $("ul.tabs li > a[href='activePage']").addClass("active"); 
}); 
+0

J'ai déplacé votre code de votre lien justpaste.it dans la question. Je pense que vous obtiendrez plus de réponses de cette façon. –

+1

Votre HTML semble avoir beaucoup manquant. Votre jQuery fait référence aux classes 'tabs',' tabContent' et 'continue', mais votre HTML ne les contient pas du tout. N'avez-vous pas inclus tout le HTML pertinent? –

Répondre

0

J'ai à peu près tous fonctionner, sauf pour mettre en évidence la navigation correspondant à la DIV actuelle que vous regardez qui est déclenché à partir d'un lien interne au sein du contenu DIV.

Essayez ce code:

$("ul.tabs li > a[href='"+activePage+"']").addClass("active"); 

Si vous mettez une variable dans "", il ne sera pas considéré comme une variable (il travaillerait en PHP mais, à moins qu'il soit entre guillemets simples). :)