2013-03-01 38 views
0

我有div,文本內容很大。並通過使用overflow:hidden僅在框中顯示內容。如何獲得非溢出內容的長度div

現在我怎樣才能得到這個盒子裏面的visbile內容的長度(即沒有字符),即非Oveflown的內容。

+0

當你說可見內容的長度..你是指你提供的文本內容中的字符數量?或者這個文本佔用的寬度和高度? – abbood 2013-03-01 08:07:29

+0

@abbood我想要沒有chars..only .. – 2013-03-01 08:50:03

+1

爲什麼這個問題投下來了?這是一個非常有效的問題,並且具有實際用途(例如,當您想要確定將省略號放置在文章末尾的哪個位置時,可以通過「讀取更多」擴展按鈕來擴展它。例如,我已經使用了它目的是爲了一些客戶我必須回答這個確切的問題)。 Rishi我已經投票支持你。對於沮喪的一方,如果你與我們分享爲什麼你認爲這個問題值得投票支持,那麼這對我們所有人都有幫助。 – abbood 2013-03-01 08:57:06

回答

0

有沒有檢測到這種傻瓜的方式。可見文本的數量取決於各種因素,如使用的字體,行高度,字母間距等。如果字體在整個文本中是均勻的並且是單倍行距,則可以使用字符寬度應用一些數學和高度來獲得這個,但它不可能在瀏覽器中完美。

+0

爲什麼這是一個跨瀏覽器的問題,如果你使用像jQuery這樣的跨瀏覽器工具來確定字符的寬度等?寬度和高度的結果可能因瀏覽器而異..但是,處理這些值的方法也應該同樣解釋瀏覽器的差異。例如,跨瀏覽器問題將會是使用jQuery等自身取消的問題。 – abbood 2013-03-01 08:54:28

0

如果您在div上設置了高度,您已經有該號碼。但如果你不這樣做,你應該使用JS函數獲得div的高度。無論隱藏多少內容,div的高度都可以看到。

像所有其他JS作品一樣,如果你想讓它在所有瀏覽器上都能很容易地運行,你應該使用一個框架。在Prototype,例如,你可以調用這個:

$("DIV_ID").getHeight(); 

用的div id屬性替換DIV_ID