Ao entrar o mouse na área de texto, o cronometro não é disparado, apenas após clicar, embora o evento seja focus. Me pareceu que no vídeo isto também ocorria quando o professor testava o código ao final da aula. O que está errado?
var tempoInicial = $('#tempo-digitacao').text();
var tempoRestante = $('#tempo-digitacao').text();
var campo = $('.campo-digitacao');
$ (function () {
atualizaTamanhoFrase ();
inicializaContadores();
inicializaCronometro();
$('#botao-reiniciar').click(reiniciaJogo);
});
function atualizaTamanhoFrase () {
var frase = $('.frase').text();
var numPalavras = frase.split(' ').length;
var tamanhoFrase = $('#tamanho-frase');
tamanhoFrase.text(numPalavras);
}
function inicializaContadores () {
campo.val('');
campo.on('input', function(){
var conteudo = (campo.val());
var qtdPalavras = conteudo.split(/\S+/).length -1;
$('#contador-palavras').text(qtdPalavras);
var qtdCaracteres = conteudo.length;
$('#contador-caracteres').text(qtdCaracteres);
});
}
function inicializaCronometro () {
campo.one('focus', function() {
var cronometroId = setInterval (function() {
tempoRestante--;
console.log(tempoRestante);
$('#tempo-digitacao').text(tempoRestante);
if (tempoRestante < 1){
campo.attr('disabled', true);
clearInterval (cronometroId);
};
}, 1000);
});
};
function reiniciaJogo () {
campo.val('');
$('#tempo-digitacao').text(tempoInicial);
tempoRestante = $('#tempo-digitacao').text();
console.log('Tempo restante = ' + tempoRestante);
campo.attr('disabled', false);
$('#contador-palavras').text('0');
$('#contador-caracteres').text('0');
inicializaCronometro();
}