2017-04-01 3 views
1

Ich möchte einen Link zu einem geöffneten Tab auf einer anderen Seite erstellen. Hier ist mein html, wo die Registerkarte sind auf:Link zu einem geöffneten Tab

// This are internal links 
<ul class="tabs"> 
    <li class="tab-link current" data-tab="tab-1">Tab 1</li> 
    <li class="tab-link" data-tab="tab-2">Tab 2</li> 
    <li class="tab-link" data-tab="tab-3">Tab 3</li> 
    <li class="tab-link" data-tab="tab-4">Tab 4</li> 
</ul> 

<div id="tab-1" class="tab-content current"><p>some content</p></div> 
<div id="tab-2" class="tab-content"><p>some content</p></div> 
<div id="tab-3" class="tab-content"><p>some content</p></div> 
<div id="tab-4" class="tab-content"><p>some content</p></div> 

ich dieses Skript verwenden:

$(document).ready(function(){ 
    $('ul.tabs li').click(function(){ 
    var tab_id = $(this).attr('data-tab'); 

    $('ul.tabs li').removeClass('current'); 
    $('.tab-content').removeClass('current'); 

    $(this).addClass('current'); 
    $("#"+tab_id).addClass('current'); 
    }) 
}) 

Jetzt habe ich diesen Link auf eine externe Seite, möchte ich auf die Seite mit den Tabs umleiten und zeige den Inhalt der Registerkarte 2:

<a href="tabpage.html#tab-2>Some link</a> 

Dies funktioniert nicht, kann mir jemand helfen? Vielleicht mit einem onclick() im a-Element?

Antwort

2

Lesen Sie den Hash in der URL, wenn Seite geladen wird und einen Klick auslösen auf <li>

So etwas entspricht:

$(document).ready(function() { 
    // your existing tabs click listener 
    $('ul.tabs li').click(function() { .... }) 
    // get hash from url 
    var hash = location.hash; 
    // check if tab matching hash exists 
    if (hash && $(hash).length) { 
    // now trigger click on appropriate tab 
    $('.tab-link[data-tab="' + hash.slice(1) + '"]').click();   
    } 

}) 
+0

Vielen Dank für Ihre Antwort, obwohl .. Können Sie ein wenig mehr Informationen geben, was Muss ich genau machen? Ich lerne immer noch :) – CliffVandyck

+0

das gleiche wie was in der Antwort gezeigt wird. Füge einfach meinen neuen Code nach deinem ein – charlietfl

+0

Danke, das hat perfekt für mich funktioniert! – CliffVandyck

Verwandte Themen