3

我有一个脚本,它从具有可变长度的用户那里获取输入字符串,通常为 ~ 400-3000 个字母。我的脚本对字符串进行了一些修改,然后应该将其打印到屏幕上。使用文档写入,所有内容都显示在一行上。但是,我希望每个输出行有 ~ 100 个字母,因此用户不必向右滚动 ~ 3000 个字母即可查看整个文本。

我能想到的唯一方法是 for 循环,但也许有人知道更好的解决方案?

编辑:

这是我目前用来实现此目的的 for 循环

document.write("<p>",">Position: ", (lower+1) + "-" + (lower +print_screen.length), "<br/>");

// print only 70 chars per line
for(i = 0; i < print_screen.length; i += 69){
    document.write(print_screen.substring(i, i+69), "<br/>");
};

document.write("</p>");
4

2 回答 2

3

将此 CSS 用于您的容器:

.longtext {
    white-space: -moz-pre-wrap !important;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    white-space: pre-wrap;       /* css-3 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
    word-break: break-all;
    white-space: normal;
}
于 2013-01-27T14:18:45.507 回答
2

replace您可以使用和正则表达式在字符串中添加中断。这会在每 100 个字符处添加一个中断:

document.write(theText.replace(/(.{100})/g, '$1<br/>'));
于 2013-01-27T14:33:46.283 回答