Dead simple Animated typing, with no dependencies.
Enter in any string, and watch it type at the speed you've set, backspace what it's typed, and begin a new sentence for however many strings you've set.
At now, if you just need to render Strings, iTyped is the best solution for you.
npm install ityped
yarn add ityped
https://unpkg.com/ityped@1.0.3
CSS animations are build upon initialzation in JavaScript. But, you can customize them at your will! These classes are:
/* Cursor */
.ityped-cursor {}
Want the animated blinking cursor?
.ityped-cursor {
font-size: 2.2rem;
opacity: 1;
-webkit-animation: blink 0.3s infinite;
-moz-animation: blink 0.3s infinite;
animation: blink 0.3s infinite;
animation-direction: alternate;
}
@keyframes blink {
100% {
opacity: 0;
}
}
@-webkit-keyframes blink {
100% {
opacity: 0;
}
}
@-moz-keyframes blink {
100% {
opacity: 0;
}
}
<span id="one"></span>
<span id="other"></span>
import { init } from 'ityped'
const oneElement = document.querySelector('#one')
const otherElement = document.querySelector('#other')
init(oneElement, { showCursor: false, strings: ['Nice', 'One' ] });
init(otherElement, { disableBackTyping: true, strings: ['iTyped is', 'Awesome'] });
import React, { Component } from 'react'
import { init } from 'ityped'
export default class Hello extends Component {
componentDidMount(){
const myElement = document.querySelector('#myElement')
init(myElement, { showCursor: false, strings: ['Use with React.js!', 'Yeah!' ] })
}
render(){
return <div id="myElement"></div>
}
}
init("#element", {
/**
* @param {Array} strings An array with the strings that will be animated
*/
strings: ['Put your strings here...', 'and Enjoy!']
/**
* @param {Number} typeSpeed Type speed in milliseconds
*/
typeSpeed: 100,
/**
* @param {Number} backSpeed Type back speed in milliseconds
*/
backSpeed: 50,
/**
* @param {Number} startDelay Time before typing starts
*/
startDelay: 500,
/**
* @param {Number} backDelay Time before backspacing
*/
backDelay: 500,
/**
* @param {Boolean} loop The animation loop
*/
loop: false,
/**
* @param {Boolean} showCursor Show the cursor element
*/
showCursor: true,
/**
* @param {Boolean} placeholder Write the string in the placeholder content
*/
placeholder: false,
/**
* @param {Boolean} disableBackTyping Disable back typing for the last string sentence
*/
disableBackTyping: false,
/**
* @property {String} cursorChar character for cursor
*/
cursorChar: "|",
// optional: The callback called (if `loop` is false)
// once the last string was typed
/**
* @property {Function} onFinished The callback called , if `loop` is false,
* once the last string was typed
*/
onFinished: function(){},
}
Thanks for checking this out.
If you're using this, let me know! I'd love to see it.