document.write多行文本

时间:2013-01-27 14:14:46

标签: javascript

我有一个脚本,它从一个长度可变的用户获取一个输入字符串,通常是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>");

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:2)

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

document.write(theText.replace(/(.{100})/g, '$1<br/>'));