typewriterjs
typewriterjs copied to clipboard
stop() doesn't work as expected (or not at all)
Hi, I'm trying to use stop() to interrupt the typewriter effect so it can move immediately into deleteAll() which I put after stop(). However, either stop() doesn't work as expected or it's not working at all because typewriter continues to type out the rest of the text then moves into deleteAll() as if stop() was never even there. Here's an example:
let typeWriter = new Typewriter(tabContent, {
loop: false,
delay: 25,
deleteSpeed: 15,
cursor: '',
});
function interrupt() {
typeWriter.stop();
typeWriter.deleteAll(15);
typeWriter.typeString("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
}
typeWriter.typeString("123456789123456789123456789123456789123456789123456789123456789123456789123456789");
setTimeout(function() { interrupt(); }, 1000);
Is this unintended, user-error, or is the stop() explanation missing something?
You need to modify the state.eventQueue
after you call stop
and empty the array of the queue. That did the trick for me.
You might need to manually override the TS types that coem with the package, they don't include the state
pro in the TypewriterClass