Fala ai pessoal, mais uma semana de estudos.
Estou desenvolvendo um projeto para ficar mais fixo ainda o modelo MVC bem como fixar vários conceitos do js. Dessa vez estou fazendo um projeto de dia das mães. https://codepen.io/pedrobslisboa/full/aGmQaZ/
Acontece que eu to enfrentando um problema, gostaria que sempre que a mensagem da mãe fosse carregada o 'load' aparecesse antes. Caso você que está lendo esta msg tentar utilizar o projeto ele vai rodar e vai mostrar, em um dos casos, o load. Mas somente quando a mãe for a primeira a falar. Como está no código. Eu restringi o código a ter apenas um caso e assim vocês possam entender como ele deveria funcionar, assim sempre que tentar rodar o codigo ele mostrará o load e depois as msgs.
Aqui está o codigo para mostrar uma nova mensagem:
function clickMessage(){
newMessage.removeEventListener('click', clickMessage);
// aqui está com apenas 1 pois como eu disse, restringi para ser de facil entendimento o que eu estou tentando fazer.
var randomNumber = Math.floor(Math.random() * 1);
// Aqui no validQuote é apenas para validar posteriormente se um quote já foi usando. Nada que precise ser observado agora.
validQuote.push(randomNumber);
var pos = 0;
var quote = quotes[randomNumber];
var quoteLength = quote.length;
// aqui eu mostro o load caso a primeira mensagem seja da mae.
if(quote[pos].classe == 'mom'){
messageShow.appendChild(loading);
}
setInterval(function(){
if(pos == quoteLength - 1){
newMessage.addEventListener('click', clickMessage);
}
controller.add(quote[pos].message,quote[pos].classe);
pos++;
},2000);
}
Bem, esse foi o meu modo de resolver e mostrar as mensagem, mas como disse, gostaria que toda vez que a mensagem fosse da mãe mostrasse o load.
EDIT: Esqueci de falar que em certos momentos terei mais de uma mensagem da mãe, fazendo com que o load tenha que ser chamado de novo. E em alguns momentos a mensagem do filho virá primeiro e isso acontecendo não mostra o load quando a mensagem da mãe for aparecer. Não consigo fazer isso com o setInterval :/
Aqui está o array das mensagens para demonstrar como estou fazendo:
let quotes = [
[{message:'Good morning! Could you clean your room? It looks like a cyclone ran through it.',
classe:'mom'},
{message:'Ok, mom',
classe:'sun'}],
];
Agradeço a todos que ajudarem :)
Abraços