Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript打字机退格效果_Javascript - Fatal编程技术网

JavaScript打字机退格效果

JavaScript打字机退格效果,javascript,Javascript,我从w3s获得了这段代码,但我不知道如何在完成键入后对字母进行退格。我试着减少我的体重,但也没用。另外,如何添加延迟,使退格效果不会立即开始 var i=0; var txt='Lorem ipsum虚拟文本blabla'; 无功转速=50; 功能打字机(){ 如果(i=txt.length){ document.getElementById(“demo”).innerHTML-=txt.charAt(i); 我--; 设置超时(打字机、速度); } } 打字机 点击我 您可以使用布尔值(

我从w3s获得了这段代码,但我不知道如何在完成键入后对字母进行退格。我试着减少我的体重,但也没用。另外,如何添加延迟,使退格效果不会立即开始

var i=0;
var txt='Lorem ipsum虚拟文本blabla';
无功转速=50;
功能打字机(){
如果(i=txt.length){
document.getElementById(“demo”).innerHTML-=txt.charAt(i);
我--;
设置超时(打字机、速度);
}
}

打字机
点击我


您可以使用
布尔值(true或false)来跟踪是否退格。如果不是,则要递增
i
如果要退格,则要递减
i
。这里我使用了
.substring
来获取从索引0到给定索引的字符串的一部分

见下例:

var i=0;
var txt='Lorem ipsum虚拟文本blabla';
无功转速=50;
var backspace=false;
var outputElem=document.getElementById(“演示”);//页面加载时获取元素
功能打字机(){
outputElem.textContent=txt.substring(0,i);
如果(i>txt.length)backspace=true;
如果(i==0),则退格=false;
i=i+(退格?-1:1);
设置超时(打字机、速度);
}
打字机
点击我

不能使用数学运算符
-
删除字符串。您需要使用最终结果重新分配该值。我可以得到一个演示吗?@BobtheMagicMoose未工作var I=0;var txt='Lorem ipsum虚拟文本blabla';无功转速=50;var reversedelay=1000 var forwards=true;函数typeWriter(){if(i=0){forwards?i++:i--;document.getElementById(“demo”).innerHTML=txt.sbstring(0,i)setTimeout(打字机,速度);}if(i>=txt.length&&forwards)forwards=false;i--;setTimeout(reverseDelay,speed);}对不起,我在打电话:)难以输入等。很抱歉,我的评论有误。关键是使用substring()。