在字符串中的文本之间添加<br/>

时间:2014-04-30 16:13:53

标签: javascript tags charat

我有以下功能:

var index = 0;
var text = 'Hello world!';
function type() {
  document.getElementById('screen').innerHTML += text.charAt(index);
  index += 1;
  var t = setTimeout('type()',200);
}

我想知道是否可以在hello和world之间添加一个br标签。

我尝试过这样:'你好'+ br标签+'世界';但是没有用,可能是因为这个问题。

由于

1 个答案:

答案 0 :(得分:1)

一种可能的方法:

var index = 0;
var text = 'Hello world!';
var textLength = text.length;
var elScreen = document.getElementById('screen');
(function type() {
  var charToType = text.charAt(index);
  if (charToType === ' ') {
    charToType = '<br />';
  }
  elScreen.innerHTML += charToType;
  index += 1;
  if (index < textLength) {
    setTimeout(type, 200);
  }
})();

Demo。关键的想法很简单:当下一个要处理的字符是空格时,它被替换为<br />

请注意其他两项更改:

  • 可以使用函数引用(而不是字符串)作为setTimeout第一个参数。事实上,人们应该这样使用它。

  • 除非有非常大的理由这样做,否则应该在达到结束时停止'键入'该字符串 - 因此index < textLength检查。