2010-04-02 162 views
2

我正在使用jquery UI選項卡,並且當切換選項卡時,在該選項卡內部的任何可滾動div都將其位置重置爲屏幕頂部,到它。有誰知道如何防止這種情況?當div被隱藏時,滾動重置在div中

回答

1

發生這種情況是因爲該選項卡處於隱藏狀態,因此將其高度摺疊爲0並重置滾動。你真的不能阻止它,因爲這是不可避免的,但你可以設置滾動位置回到它是這樣的:

$("#tabs").tabs({ 
    select: function(event, ui) { 
     var prevTab = $(ui.panel).parent() 
           .children(".ui-tabs-panel:not(.ui-tabs-hide)"); 
     prevTab.data("scrollTop", prevTab.scrollTop()); 
    }, 
    show: function(event, ui) { 
     var tab = $(ui.panel); 
     if(tab.data("scrollTop")) 
      tab.scrollTop(tab.data("scrollTop")); 
    } 
});​ 

這離開選項卡時,存儲滾動位置,回來的時候恢復它它。
Here's a quick demo for testing,享受:)