Uma implementação simples de uma engine de chat utilizando técnica de empilhamento com arrays e atualização de elementos com innerHTML.
- Crie um arquivo HTML chamada:
index.html - Crie um arquivo Javascript chamado:
chat.js
No arquivo HTML index.html
- Faça o carregamento do Javascript no HTML
- Crie uma estrutura de HTML que seja similar a essa:
<div id="chat-container">
<div id="chat-messages"></div>
<input type="text" id="message-input" placeholder="Digite uma mensagem..." autofocus>
<button id="message-commit">Adicionar mensagem</button>
</div>No arquivo Javascript chat.js
- Crie um array chamado
listaMensagens - Implemente uma função chamada
adicionarMensagem. Essa função deve receber 2 argumentos:apelidoemensagem. Essa função deve empilhar no arraylistaMensagensum objeto com a seguinte estrutura:
{
"apelido": "...",
"mensagem": "...",
}- Implemente uma função chamada
formatarMensagens, sem argumentos. O objetivo dessa função é percorrer o arraylistaMensagense montar uma estrutura de HTML com a seguinte estrutura:
<div class="chat-message">
<span class="chat-message-apelido">
<!-- implementar apelido aqui -->
</span>
<span class="chat-message-item">
<!-- implementar mensagem -->
</span>
</div>- Implemente uma função chamada:
atualizarHTML, sem argumentos. O objetivo dessa função é receber os valores formatados da funçãoformatarMensagense atualizar o conteudo da div#chat-messages. - Implemente uma função chamada
commitMessageClickHandler, sem argumentos. Essa função deve ser executada ao pressionar o botão#message-commit. O objetivo dessa função é executar a função:adicionarMensagempassando o valor de#message-inputcom um apelido que você desejar associar. Não esquecer de limpar o input#message-input. - Faça o tratamento para evitar mensagens em branco utilizando o método .trim() da classe String.