Javascript 如何将每行的字数限制为固定宽度?
嗨,伙计们,我正试图找出如何限制通过javascript每行生成的单词量。这些单词与span标记一起使用,因此每个单词都是独立的,这些单词来自一个数组,只需进行迭代即可。我想让它在两行满的时候停止打印文字。建议Javascript 如何将每行的字数限制为固定宽度?,javascript,css,Javascript,Css,嗨,伙计们,我正试图找出如何限制通过javascript每行生成的单词量。这些单词与span标记一起使用,因此每个单词都是独立的,这些单词来自一个数组,只需进行迭代即可。我想让它在两行满的时候停止打印文字。建议 <div id="container"> <div id="wordsBox"> <span wordnum="1" class> Test </span> <span wordnum=
<div id="container">
<div id="wordsBox">
<span wordnum="1" class> Test </span>
<span wordnum="2" class> Test </span>
<span wordnum="3" class> Test </span>
</div>
</div>
试验
试验
试验
容器是960px,所以我想知道当两行填满时如何停止生成跨距。首先确定px中的字符宽度。如果这不是一个静态数字,请创建一个包含单个字符的div,然后获取该div的尺寸(确保删除其填充、边框、轮廓等)
var charWidth=12;
var-maxLines=2;
var containerWidth=960;
var wordArray=[“测试”,“测试”]//到任何长度。。。。
var maxLength=数学地板((集装箱宽度*最大线)/字符宽度);
var currentLength=0;
while(currentLength
谢谢,它不太管用,正在尝试解决它……第二行没有创建。它确实限制了第一行,但是很抱歉,回复时间太长了。这正是你的密码。这是一个快速的小提琴,看看这个。请记住,将字体设置为“36px”并不意味着宽度为每件36px。你需要让数学准确。此外,请确保使用单空格字体。我在这里设定:
var charWidth = 12;
var maxLines = 2;
var containerWidth = 960;
var wordArray = ["Test","Test"]; //To whatever length....
var maxLength = Math.floor((containerWidth*maxLines)/charWidth);
var currentLength = 0;
while(currentLength < maxLength) {
currentLength = document.querySelector("#wordsBox").innerText.length;
var nextWord = wordArray.shift();
if(nextWord.length + currentLength < maxLength) {
document.querySelector("#wordsBox").innerHTML += "<span ..>"+nextWord+"</span>";
} else {
currentLength = maxLength;
}
}