所以我有一個<div></div>
。我想知道一個字符串在它換行到下一行之前會有多少(長度)。該腳本應考慮元素的寬度(實際clientWidth
),左右邊距以及左側和右側填充。計算多少個字符(來自一個字符串)會適合div而不會換行?
<div id="stackoverflow"></div>
和JavaScript,假設神奇的功能是calculate
:
calculate("#stackoverflow","the string to be inputed to the div");
// That should either output how much of the string fits in the div
// or the string's length if it fits without wrapping.
的選擇#stackoverflow
並不重要,它只是更容易理解。
在這一點上,我唯一的想法是有一個while
循環向div添加一個字符,然後檢查div是否已經包裝,如果不能繼續等等,然後返回字符數,但這需要太長的時間!
老實說我不在乎一個答案是否使用jQuery,因爲我幾乎可以毫不費力地將它翻譯成普通的JS。
沒有簡單的方法來做到這一點,除非你使用等寬字體和固定大小......如果用戶放大或縮小,它將立即打破... –
你在這裏的目標是什麼?如果你的目標是讓文本不包裝,那麼首先嚐試一下css解決方案 – corroded
好的,這個想法是讓文本不要包裝,但我嚴重懷疑CSS可以在這裏有任何幫助。最簡單的說法是文本看上去會被包裹起來,但實際上會被分隔成div。 – JCOC611