O Typed.js é uma biblioteca JavaScript muito boa para simular um efeito de texto sendo escrito na tela, similar ao ato de digitar no console ou no Notepad.
Para acessar as funcionalidades do Typed.js, você precisa baixa-lo do site ou inserir uma tag script apontando para o link do CDN que eles disponibilizam conforme o exemplo abaixo.
<script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.9"></script>
Como Funciona?
É simples e irei mostrar em alguns exemplos que cobrirão a maioria das funcionalidades que você precisará da biblioteca. Mas primeiro, caso você já não tenha algo parecido, copie o código HTML abaixo
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <span id="texto"></span> <script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.9"></script> </body> </html>
Para evitar a necessidade de fazer um download, vou deixar com o link do CDN, mas sinta-se a vontade para altera-lo. Abaixo do script do Typed.js ou em um arquivo separado, adicione o seguinte código:
// A configuração que será passada ao instanciarmos o objeto Typed let configuracao = { // A lista de frases que aparecerão // está string podem conter tags html strings: ["<i>Primeira</i> frase com Typed.js.", "Olá MundoJS!"], // A velocidade que é digitado typeSpeed: 40 } // O Objeto precisará recebe 2 parametros, // 1º: Uma string começando com # para id ou . para classe html // 2º: o objeto de configuração let typed = new Typed("#texto", configuracao);
Com isso você já verá um efeito simples, mas que mostra como funciona e como pode ser executado. Agora vamos ver alguns itens um pouco menos óbvios.
Configurando o Typed.js
Parando no meio da frase
Se na string você usar o acento circunflexo seguido de um valor numérico, quando chegar naquele ponto o Typed.js irá esperar aquele número em milissegundos antes de continuar.
let configuracao = { strings: ["<i>Primeira</i> frase ^1000 com Typed.js.", "Olá MundoJS!"], }
Retorno inteligente
Se o objeto de configuração tiver uma propriedade chamada “smartBackspace” igual com o valor true, então o texto irá voltar somente até a parte onde o texto diferente.
let configuracao = { // A parte "Olá" não será removida quando o texto for reescrever. strings: ["Olá MundoJS!", "Olá JavaScript!"], smartBackspace: true }
Tempo para iniciar e retornar
Através das propriedades startDelay e backDelay é possível definir (em milissegundos ) o tempo que levará para começar a escrever e retornar o texto.
let configuracao = { strings: ["Olá MundoJS!", "Olá JavaScript!"], startDelay: 2000, backDelay: 500, }
Customizar o cursor
É possível customizar o cursor ou remove-lo completamente através de duas propriedades conforme o exemplo abaixo. Lembrando que se você colocar showCursor como false, não conseguirá ver qualquer char que definir no cursorChar.
let configuracao = { strings: ["Olá MundoJS!", "Olá JavaScript!"], showCursor: true, cursorChar: '#' }
Conclusão
Como e possível ver, a biblioteca do Type.js é simples e fácil de usar. Caso você precise customizar mais coisas va-le a pena dar uma olhada no https://github.com/mattboldt/typed.js/#user-content-customization para ver se o que você precisa já está lá.