2011-09-04 19 views
2

我有一個固定的大小div,我需要填寫文本。我只需要用盡可能多的文本填充它,並且我需要知道它切斷的字符串中的偏移量。將文本擬合成固定大小的div

現在我通過保存div目前的高度則div設置的高度auto,以字符串的越來越長的子串,並把它們放入div,並且停車時div的高度做變得比原來的高度更大。這有效,但效率很低。

有沒有更好的方法來做到這一點?更好地說,我的意思是更快。

+0

我現在正在處理它。但我有一個問題。文本的寬度/高度是多少? – Will

+0

@William應該沒關係,這樣做的功能應該能夠採取任何固定大小的div並填充它(我目前的這樣做)。雖然我不需要你爲我編寫整個功能,但我可以這樣做,我只需要知道確定要輸入多少文本的方法。感謝您處理它。 –

回答

4

嗯,我想出了這個:http://jsfiddle.net/r5Njr/。這應該適合文本到div中。如果你想要看中,你可以將最後2或3個字符更改爲...

+0

這正是我現在正在做的,而且我一次只做50個字符,而不是1個,而且它仍然太慢。不過謝謝。 –

+0

好吧......稍作修改。聽起來像你有很多文字。所以,這個版本將它剪下來(通過計算,不要刪除字符),直到它在所需行的上方一行。然後,如果關閉字符,它會被切斷。 [http://jsfiddle.net/r5Njr/2/](http://jsfiddle.net/r5Njr/2/) – Will

+0

這似乎更好,但它始終與相同的文本無論div有多寬。例如,看看這個:http://jsfiddle.net/r5Njr/5/ –

0

也許我沒有正確地得到問題,但爲什麼不使用substr和獲取確切的字符數?

+0

我如何知道確切的字符編號是什麼?我只有一個div(這是一個固定大小)和一個字符串。我需要知道從該字符串中輸入多少文本才能完全符合它。 –

+0

好吧,它永遠是一個aproximation'因爲不同的字符需要更多的字符。但我會做一個試驗的錯誤'直到我找到一個近似數量的字符。然後,只需使用substr就可以隨時獲得固定的數字。如果需要,請檢查瀏覽器併爲不同的瀏覽器獲取不同數量的字符。這總是一個aproximation,但速度很快,應該是足夠的,我認爲 – jribeiro

+0

近似不夠好,我需要它是確切的。由於可變寬度字符,一個文本甚至不會接近另一個文本。 –