2011-05-13 48 views
1

到目前爲止我的代碼中的標籤創建一個以上的鏈接標籤:在標籤1UI jQuery的標籤 - 在同一頁

$(function(){ 
     $("#tabs").tabs().find(".ui-tabs-nav").sortable({ axis: "x" });       
     $(document).ready(function() { 
      var $tabs = $("#tabs").tabs(); 
      $('#tabs-1 a').click(function(){ 
       $tabs.tabs('select', 4); }); 

}); 
<div id="tabs"> 
     <ul> 
      <li><a href="#tabs-1">Home</a></li> 
      <li><a href="#tabs-2">Alarms</a></li> 
      <li><a href="#tabs-3">Access Control</a></li> 
      <li><a href="#tabs-4">Services</a></li> 
      <li><a href="#tabs-5">Contact Us</a></li> 
     </ul> 
     <div id="tabs-1"> 
      <p><span class="bodytext">Check our services</span></p> //want to link to tab 4(services) 
      <p><span class="bodytext"> 
      <a href="#tabs-5">Contact us</a>for free 24hours a day...</span></p> 

正如你可以從代碼中看到,當您點擊「聯繫我們」文本還有是標籤5. 一個鏈接是我想要做的就是創建一個從「檢查我們的服務」選項卡4. 一般來說創造了10個鏈接withing標籤鏈接其他選項卡

我想我知道一個鏈接我不得不將$tabs.tabs('select', 4);更改爲$tabs.tabs('select', id);,但我不知道如何在html中調用「id」時想創建鏈接。 有什麼建議嗎?

+0

爲什麼當人們只需點擊標籤本身時,就可以在標籤中製作鏈接? – tvanfosson

+0

它很好地打破了文本,併爲最終用戶創建更多的鏈接導航網站 –

回答

1

我想我會不同的使用在href鏈接本身,也許一類,表明它是一個內部的選項卡鏈接,以確定要裝入的標籤,在標籤創建事件建立處理程序處理這。

$('#tabs').tabs({ 
    create: function(event,ui) { 
     $('a.intra-tab',ui.panel).unbind('click').click(function() { 
      var id = Number($(this).attr('href').replace(/#tabs-/,'')) - 1; 
      $('#tabs').tabs('select',id); 
      return false; 
     }); 
    } 
}); 

<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">Home</a></li> 
     <li><a href="#tabs-2">Alarms</a></li> 
     <li><a href="#tabs-3">Access Control</a></li> 
     <li><a href="#tabs-4">Services</a></li> 
     <li><a href="#tabs-5">Contact Us</a></li> 
    </ul> 
    <div id="tabs-1"> 
     <p><span class="bodytext"><a href="#tabs-4" class="intra-tab">Check our services</a></span></p> 
    </div> 
    ... 

你也可以使用實時處理程序來做到這一點。

$('#tabs').tabs(); 
$('a.intra-tab').live('click', function() { 
    var id = Number($(this).attr('href').replace(/#tabs-/,'')) - 1; 
    $('#tabs').tabs('select',id); 
    return false;  
}); 
+0

感謝您的幫助,但代碼沒有奏效。奇怪的是,當你在新標籤窗口中打開該工作... –

+0

@fat_mike - 我有錯的情況下,它應該是創建活動,即在創建標籤時。請注意,我可能也應該將其作用於當前的選項卡面板並刪除任何現有的點擊處理程序。另一種方法是使用「live」將其應用於所有這些鏈接。請注意,無論是動態還是靜態加載標籤,這兩種方法都應該適用。 – tvanfosson

+0

@fat_mike - 工作小提琴在http://jsfiddle.net/YKbtD/ – tvanfosson