2009-04-19 14 views
20

我有兩個div像這樣如何獲得一個元素的溢出寬度在網頁中

<div id="parent" style="width:100px:overflow:hidden;"> 
    <div id="child"> 
     tooooooooooooooooooooo much content to fit in parent 
    </div> 
</div> 

我動態更新孩子的內容和使用jQuery滾動它。我想能夠找到孩子有多寬,所以我知道什麼時候停止滾動。問題在於,一旦出現溢出的內容,孩子的實際寬度比甚至屏幕寬(當前測試內容似乎是大約2500像素)。元素的邊框(如果其集合沒有擴展到內容的實際寬度)會超過可見邊框溢出。

使用jQuerys $('#child').widthclientWidthscrollWidth(感謝bobince)和offsetWidth性能在1,024像素都最大程度的發揮(這是我的顯示器的寬度)。是否有人知道有什麼方法可以確定元素內容包含溢出的程度?如果有幫助,我正在構建的應用程序將運行在自助服務終端類型的環境中,因此僅Firefox(即使是夜間版本)解決方案也沒問題。

更新:scrollWidth關於父母的作品,我應該仔細閱讀,再次感謝bobince。

回答

25
document.getElementById('parent').scrollWidth 

scrollWidth是一個IE擴展,從歷史上看是能力不如offsetWidth支撐。但是現在所有現代桌面瀏覽器都包含它。

+0

恐怕scrollWith在1,024像素杏爲好。 (還是)感謝你的建議。 – 2009-04-19 03:19:26

+0

在FF3中適用於我 - 發佈了一個不起作用的完整代碼示例?檢查你正在查看'父'scrollWidth,而不是'孩子',並且內容太寬並不自然地在1024(或使用'white-space:no-wrap'來停止它)換行。最後檢查語法 - 在你的例子中有一個冒號,而不是規則之間的分號。 – bobince 2009-04-19 15:15:54

4

使用jQuery,你可以這樣做:

$('#parent')[0].scrollWidth 
相關問題