2011-04-05 48 views
0

我用jQuery新手,jQuery的添加在頁面加載顯示要求標籤功能

<script type="text/javascript" charset="utf-8"> 
    $(function() { 
     var tabContainers = $('div.tabs > div'); 
     tabContainers.hide().filter(':first').show(); 

     $('div.tabs ul.tabNavigation a').click(function() { 
      tabContainers.hide(); 
      tabContainers.filter(this.hash).show(); 
      $('div.tabs ul.tabNavigation a').removeClass('selected'); 
      $(this).addClass('selected'); 
      return false; 
     }).filter(':first').click(); 
    }); 


</script> 

我需要的是能夠裝載特定的標籤時,打開一個和我已經用標籤驗證碼網址,如: www.mysite.com/page.html#tab1

HTML鏈接看起來是這樣的:

<a href="#tab1" class="selected">name link</a> 
<a href="#tab2" class="">name link2</a> 
<a href="#tab3" class="">name link3</a> 

我tryied很多的腳本,但也許是我的錯(我是一個夥計與JavaScript)

預先感謝您

回答

0
  1. 你需要一個像<a href="#tab1">click to see tab1</a>

  2. 您需要將用戶重定向到#TAB1錨所以你必須刪除你的功能的return false;行,這將禁用重定向

  3. 當你單擊了<a>時你的功能被觸發,你需要再次觸發它,當頁面是在g負載

的功能將類似於

$(function(){ 
    onClickHandler = function() { 
     $('div.tabs > div').hide(); 
     $(window.location.hash).show(); 
    } 
    $('div.tabs ul.tabNavigation a').click(onClickHandler); 
    onClickHandler(); 
}); 
+0

謝謝,這個作品,但現在我必須點擊標籤兩次去標籤! – stefano 2011-04-05 13:38:13

+0

$(函數(){ \t \t \t變種tabContainers = $( 'div.tabs> DIV'); \t \t \t tabContainers.hide()濾波器(。 ':第一')顯示(); \t \t \t \t \t \t $('div.tabs ul.tabNavigation a')。點擊(函數(){ \t \t \t \t tabContainers.hide(); \t \t \t \t tabContainers.filter(this.hash).show(); \t \t \t \t $('div.tabs ul.tabNavigation一個').removeClass(' 選擇 '); \t \t \t \t $(本).addClass(' 選擇'); \t \t \t/* \t返回FALSE; */ \t \t \t})。filter(':first')。click(); \t \t \t onClickHandler = function(){ $('div.tabs> div')。hide(); $(window.location.hash).show(); } $('div.tabs ul.tabNavigation a')。click(onClickHandler); onClickHandler(); \t \t}); – stefano 2011-04-05 13:38:50

+0

現在第一個選項卡在頁面加載時不會打開 – stefano 2011-04-05 13:39:52

0

你想用默認顯示的標籤應該有一類selected在你的HTML。所以應該關聯內容包裝。其他人不應該。

+0

第一個標籤已經有了「選擇」上載 – stefano 2011-04-05 13:42:04

1

JQuery-UI有一個tab-widget你可以使用。

比寫自己更簡單,更穩定。

對於不同的URL請看看this post

它告訴你如何利用UI主題和加載不同的URl。

否則你必須做的click事件的$('#theIdOfTheDiv').load(url)在標籤

+0

類也沒什麼可說的請求通過URL – stefano 2011-04-05 13:42:23

+0

修訂答案選項卡。 – Guidhouse 2011-04-06 04:29:52

0

window.location的具有散列屬性。所以,你可以檢查它是否爲空,如果它不是空的,選擇該選項卡:

if(!window.location.hash === "") 
    $(window.location.hash).show();