Не совсем ответ, но скорее предложение, это напомнило мне о 2 простых функциях JS, которые я написал для этого некоторое время назад, type_word()
и erase_word()
, и я смог найти их обратно. Это на самом деле не помогает решить вашу проблему, но, в конце концов, это может помочь вам. Это довольно круто, даже использует случайный фактор времени для симуляции реалистичной печати!
var span = document.getElementById('text');
// add a right border to simulate cursor!
span.style.borderRight = "1px solid #000";
type_word('develop', span, function(){
erase_word(span, function(){
type_word('innovate', span, function(){
// all finished, remove the fake cursor !
span.style.borderRight = "0px";
});
});
});
function type_word(word, container, cback){
container.innerHTML += word.substring(0,1);
if(word.length > 1){
var t = setTimeout(function(){type_word(word.substring(1), container, cback); }, 50+Math.random()*250);
}
else{
cback();
}
}
function erase_word(container, cback){
container.innerHTML = span.innerHTML.slice(0, -1);
if(container.innerHTML.length > 0){
var t = setTimeout(function(){erase_word(container, cback); }, 50+Math.random()*50);
}
else{
cback();
}
}
We <span id="text"></span>