【发布时间】:2019-01-18 09:42:54
【问题描述】:
我做了一个打字机效果,它会先输入一个字符串,然后再删除它。此处显示:https://www.w3schools.com/code/tryit.asp?filename=FZAVKJW3BPSV
但是,正如您在输出中看到的那样,有一个不会消失的“>”标签!我什么都试过了。
我已将出错的函数粘贴在下面:
function removeType(i,isTag,text,str2) {
text = str2.slice(0, --i);
if(text == 0){
return;
}
document.getElementById('test').innerHTML = text;
var char = text.slice(-1);
if( char === '>' ) isTag = true;
if( char === '<' ) isTag = false;
if (isTag) return removeType(i,isTag,text,str2);
setTimeout(function() { removeType(i,isTag,text,str2);}, 100);
}
【问题讨论】:
-
请在您的问题中发布您的相关“minimal reproducible example”代码,不要只是发布链接并期望我们去看看。
-
你的问题在这里
if( char === '<' ) isTag = false;在这两个地方都改为 trueif( char === '<' ) isTag = true; -
@Ingus,请注意,这些函数中字符串解析的方向是相反的,因此
<的效果必须不同。 -
@trincot 我测试了它,它似乎在工作
-
在函数
removeType中将if更改为if (isTag || char === '<')。
标签: javascript html web innerhtml