2017-04-01 137 views
1

我想要創建指向不同頁面上打開選項卡的鏈接。 這裏是我的html在選項卡的上:鏈接到打開的選項卡

// 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> 

我使用這個腳本:

$(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'); 
    }) 
}) 

現在我有一個外部網頁上這個環節,我想重定向到頁面的標籤和顯示標籤2的內容:

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

這不行,任何人都可以幫我嗎?也許在a元素中使用onclick()?

回答

2

閱讀散列在URL時,頁面加載並觸發相應<li>

喜歡的東西點擊:

$(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

謝謝您的回答,但..你可以給一些更多的信息是什麼我必須準確地做?我還在學習:) – CliffVandyck

+0

與答案中顯示的相同。只需在我的新代碼後添加 – charlietfl

+0

謝謝,這對我來說非常合適! – CliffVandyck

相關問題