日期:2014-05-16  浏览次数:20343 次

如何在下面的js语句中实现换行功能
<span id="output"></span>
<SCRIPT LANGUAGE="JavaScript">
<!--
var txtArr = new Array();
txtArr[0] = "远处海港传来阵阵船笛";
txtArr[1] = "我一直飘零到被你拣起";
txtArr[2] = "如今望着反映窗户玻璃";
txtArr[3] = "有个我陌生又熟悉";
var i=0;
function show(){

if(i<=txtArr[0].length)
{
output.innerText+=txtArr[0].substr(i,1);
 
i++;
}
else{
 
i=0;
txtArr.shift();
 
}
}
setInterval("show()",300);
//-->
</SCRIPT> 

已经实现了一个字一个的输出,但是我想在输出完一句后换行再输出下一句,形成下面的效果:
  远处海港传来阵阵船笛
我一直飘零到被你拣起
如今望着反映窗户玻璃
有个我陌生又熟悉
有会的帮忙改下代码,重做也行,谢谢啦!!

------解决方案--------------------
你代码有多处错误,多都写在里面了:
JScript code

<span id="output"></span>
<SCRIPT type="text/javascript">
<!--
var txtArr = new Array();
txtArr[0] = "远处海港传来阵阵船笛";
txtArr[1] = "我一直飘零到被你拣起";
txtArr[2] = "如今望着反映窗户玻璃";
txtArr[3] = "有个我陌生又熟悉";
var i=0;
var output=document.getElementById("output");
function show(){
//此处如果数组长度变为0,要清除Interval.并退出函数执行
if(txtArr.length<=0){
clearInterval(interval);
return;
}
if(i<txtArr[0].length)
{
var obj=document.createTextNode(txtArr[0].substr(i,1));
output.appendChild(obj);
//此处创建元素节点并应用appendChild方法,因为innerText在FireFox中不支持
//output.innerText+=txtArr[0].substr(i,1);
i++;
}
else{
//此处创建一个换行的元素节点并appenChild.
var br=document.createElement("br");
output.appendChild(br);
i=0;
txtArr.shift();
}
}
var interval=setInterval("show()",300);
//-->
</SCRIPT>