假設我有一個寬度爲200px且字體大小爲16的div。現在我想計算可以適合div的行數的字符數。我如何計算使用JavaScript或jQuery的字符數。如何使用JavaScript計算一行中的字符數
4
A
回答
3
更新:哦,我忽略了隱藏的評論。上面提到的CSS解決方案絕對是更好的工作。我的回答直接解決了計算符合一行的字符的問題。我不會刪除它,因爲有人可能會發現它很有用。
即使您有比例字體,也可以在一行中獲得可以放入的字符數。有兩種方法 - 或者使用以下技巧或者的measureText
方法。
var target_width = 200; // line width
var text = 'Lorem ipsum. I want to know how many chars of this text fit.';
var span = document.createElement('span');
document.body.appendChild(span);
span.style.whiteSpace = 'nowrap';
// define the style
span.style.fontFamily = 'Lucida Grande';
span.style.fontSize = '14px';
var fit = text.length;
for (var i = 0; i < fit; ++i) {
span.innerHTML += text[i];
if (span.clientWidth > target_width) {
fit = i - 1;
break;
}
}
document.body.removeChild(span);
// fit = the number of characters of the text
// that you can fit on one line
+0
你解決了我的問題,謝謝。 – Anoop
4
其實我想截斷我的內格文本,使其正好適合 到該分區(文本長度是非常大)
您可以用CSS做到這一點:
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis; //Doesn't work in all browsers, just adds "..."
+0
謝謝,我每天學習一些新的東西'文字溢出:ellipsis' – david
1
如果每個字符的寬度相同,則只能計算每行字符數。對於所有固定寬度的字體,例如在stackoverflow的問題編輯器中的字體都是如此。
如果您確保使用固定寬度字體,則可以計算單個字符的寬度,例如,使用function posted in this answer。然後,簡單地將<div>
的寬度除以字符的寬度。
相關問題
- 1. 使用javascript計算數字字符串
- 2. 如何使用javascript計算DIV中的字符數
- 3. 如何計算JavaScript中字符串開頭的連字符數?
- 4. 計算字符數組中的一行中的字符數
- 5. Javascript計算字符串中的數字
- 6. 使用Javascript計算CSV中的行數
- 7. 如何計算字符數,逐行
- 8. 如何計算JavaScript中字符串末尾的換行符數量?
- 9. 使用Javascript計算並顯示文本框中的字符數
- 10. 使用JavaScript計算字符串中元音的數量
- 11. 如何使用Javascript計算文本文件中的字數
- 12. 如何使用JavaScript中的Knockout計算分組行的小計?
- 13. 計算每行中的字符數
- 14. javascript三元運算符來計算字符串中的字符
- 15. 如何用JavaScript中的虛數計算?
- 16. 在JavaScript中計算字符串中數字的出現次數
- 17. 如何計算Perl中UTF-8字符串中的字符數?
- 18. 如何計算字符串中的特殊字符javascript函數只接受像@#
- 19. 如何計算文字中的字符
- 20. 計算字符串中的字符數
- 21. 如何計算Android中Edittext字段的行數,字數和字符數
- 22. 如何計算字符串中使用jquery的字符出現次數
- 23. 如何用PHP計算單個html行上的字符數
- 24. 如何計算第二行標籤中的字符數?
- 25. 如何計算Objective-C字符串(NSString)中的行數?
- 26. 使用Javascript進行計算
- 27. 如何計算沒有換行符的字符數?
- 28. 如何計算字符串的字符?
- 29. 如何創建一個在JavaScript中執行Sigma符號計算的函數?
- 30. 如何計算JavaScript中的字母?
你想要完成什麼?無論如何,您無法準確計算出只能使用字體大小的字符數量。 – NullUserException
這是否也取決於字體大小和字體重量以及填充等? – Smamatti
除非你使用固定寬度的字體,否則沒有單個字符可以放入給定寬度的一行中。 –