2009-06-12 33 views
2

我有一個代表Tab結構的表。
某些單元格設置爲顯示:無;並且只顯示活動選項卡。 我想爲所有人設置最大高度。 要做到這一點,我通過標籤的數組,然後執行以下隱藏對象的高度,當它們變得可見時,在javascript中

// get the max-tab-height 
for (var i = 0; i < TabPageList.length; i++) 
{ 
    // get max height 
    if (TabPageList[i].offsetHeight>MaxTabHeight) 
     MaxTabHeight = TabPageList[i].offsetHeight;   
} 

這種方法的問題是的offsetHeight針對所顯示的有源標籤唯一的工作。 那麼,什麼是沒有顯示的高度,什麼時候會顯示?

回答

1

正如其他人說你可以通過設置知名度,隱藏(使物體保持它的尺寸而隱藏)獲得高度:

visibility:hidden; 

其位置設置爲絕對避免它採取在頁面上空間的額外招(您可能這樣做只是爲了達到身高所需的時間,之後恢復其位置屬性)。

第二種方法可能是保持選項卡可見,但通過將其絕對位置設置爲某個足夠大的座標將其移出頁面。

2

因爲非活動選項卡設置爲display:none,所以offsetHeight無用。嘗試運行MaxTabHeight例程,同時激活選項卡,然後顯示它。我假設這是在標籤的點擊事件中。

+0

這無助於使所有標籤具有相同的高度。 例程正在頁面的負載上運行。 – Stavros 2009-06-12 13:47:33

2

嘗試使用可見性:隱藏(不顯示:無)。我記得,使用可見性元素只是隱藏,但保持其尺寸。

+0

這不適合標籤.. – Stavros 2009-06-12 13:48:06

2

爲了便於使用,不應將選項卡設置爲隱藏於CSS。 (仍然有js禁用的小百分比)。如果您瀏覽標籤,閱讀它們的高度,同時隱藏它們,您可以輕鬆找到最高的標籤。而在同一時間讓你的網站對用戶更友好(:

如果你不想隱藏的細胞崩潰,你也可以使用visibility:hidden;像上述

相關問題