我有以下功能:
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标签+'世界';但是没有用,可能是因为这个问题。
由于
答案 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
检查。