2012-02-20 102 views
2

我正在使用JQuery UI選項卡處理頁面,並且我的客戶端要求每個選項卡都有一個直接鏈接。我解決了用下面的代碼:Jquery UI選項卡直接鏈接問題

$(function() { 
    $("#tabs").tabs(); 
    $("#tabs").bind('tabsshow',function(event, ui) { 
     window.location = ui.tab; 
    }) 
}); 

當用戶點擊該網址看起來像每個選項卡上現在:http://url.com/#tablink,用戶就可以創建書籤的網址,但該瀏覽器會自動向下滾動到#ID哪裏位於,這是煩人的。我能夠通過添加下面的jQuery代碼重寫此當用戶在選項卡計時:

$(".tab-set ul li a").click(function(e) { 
    window.scrollTo(0,0); 
}); 

但是我無法找到的東西時,直接輸入在地址欄中的URL,它致力於避免這種,而不是點擊一個標籤。我嘗試以下,但它不工作:

 window.onload = scroll(0,0); 

 window.onload = scrollTo(0,0); 

回答

1

$(function(){ 
    $.scrollTo('0px'); 
    //or 
    $.scrollTo('body',0); 
}); 
+0

感謝您的反饋,但這只是另一種做法,我已經在做。我遇到的問題是讓頁面在標籤已經加載後滾動,所以這是行不通的。 – rjosori 2012-02-20 22:30:55

0

這是默認的瀏覽器行爲滾動到哈希值。

你可以試試這個。

$(function(){ 
    if(location.hash && location.hash == "#your-tab-id-name-here") { 
     $('html, body').animate({scrollTop:0}, 0); 
    } 
}); 
+0

@ShankarSignoli嘗試了這個:'$(function(){ \t if(location.hash && location.hash ==「#tabs-1」||「#tabs-2」||「#tabs-3」| |「#tabs-4」||「#tabs-5」){ $('html,body')。animate({scrollTop:0},0); } });' – rjosori 2012-02-20 22:22:23

+0

您可以使用'||'或條件選項卡,並使您的代碼簡單。 – ShankarSangoli 2012-02-20 22:23:50

+0

@ShankarSignoli但它沒有工作,它最初捲起來,然後回到#id區域... – rjosori 2012-02-20 22:25:03