Já vi e revi várias vezes, ainda não encontrei o problema. Help!
console.log("Olá mundo");
var tempoInicial = $("tempo-digitacao").text();
$(document).ready(function(){ //Carrega previamente todas as funções da página ***
atualizaTamanhoFrase();
inicializaContadores();
inicializaCronometro();
// *** Atalho para ready: também use assim:
//$(function(){
// --suas funções--
//});
// $("#botao-reiniciar").on("click",function(){
// console.log("botao clicadão!");
// }); OU:
$("#botao-reiniciar").click(reiniciaJogo);
console.log("Funções carregadas!");
});
function atualizaTamanhoFrase(){
var frase = $(".frase").text(); //CLASSE//Ao invés de digitar jQuery, digite $. jQuery(".frase"); = $(".frase");
var numPalavras = frase.split(" ").length; //
//Quebra a frase em pedaços através dos espaços NOTA: para contar letras, deixe sem espaço entre os "". Para contar palavras, coloque 1 espaço entre " "
//var tamanhoFrase = $("#tamanho-frase").text(); // # = seletor de ID do HTML + o conteúdo TEXTUAL
//console.log(tamanhoFrase);
var tamanhoFrase = $("#tamanho-frase"); //Tirei o conteúdo para colocar abaixo:
tamanhoFrase.text(numPalavras); //Coloca a quantidade de palavras no ID tamanho-frase do HTML
console.log(numPalavras); }
var campo = $(".campo-digitacao");
console.log(campo);
function inicializaContadores(){
campo.on("input",function(){ // .ON recebe 2 parâmetros: tipo de entrada/escuta e função
//CLICK: quando o CAMPO sofrer um click, faça algo (ON é do jQuery) OU
// INPUT: quando o CAMPO estiver sendo inputado (digitado), faça algo
//console.log("cliquei no campo de digitacao");
//Agora devemos contar o que tem dentro do campo
campo.val(); //acessa o value do campo pelo jQuery
console.log(campo.val()); //teste
var conteudo = campo.val(); //armazena o valor do campo (as frases)
// val é sempre onde o usuário pode escrever
//conta as palavras do CAMPO
var qtdPalavras = conteudo.split(/\s+/).length; // /\s+/ -->Conta QUALQUER espaço vazio, assim a contagem fica correta
console.log(qtdPalavras);
$("#contador-palavras").text(qtdPalavras);
console.log(conteudo.length); //conta as letras incluindo espaços
var qtdCaracteres = conteudo.length;
$("#contador-caracteres").text(qtdCaracteres);
}); }
function inicializaCronometro(){
var tempoRestante = $("#tempo-digitacao").text();
campo.one("focus",function(){ //A caixa de texto está em "FOCO" uma única vez (ONE ao invés de ON, que fica direto)
console.log("Digitando...");
console.log(tempoRestante);
var cronometroID = setInterval(function(){ //ID é o retorno de setInterval
tempoRestante--;
console.log(tempoRestante);
$("#tempo-digitacao").text(tempoRestante);
if (tempoRestante<1){
campo.attr("disabled",true); //ATTR = atributo de um elemento
clearInterval(cronometroID); //cancela o INTERVAL se tempo=0
}
},1000); //SetInterval é JS puro. Função a desenvolver e tempo em ms.
});}
function reiniciaJogo(){
console.log("botao clicadão com click(function()!");
campo.attr("disabled",false); //Reabilita o campo para escrever
campo.val(""); //apaga a digitação anterior para reiniciar com campo limpo
$("#contador-palavras").text("0");
$("#contador-caracteres").text("0");
$("#tempo-digitacao").text(tempoInicial); //Insere o tempo original inicial
inicializaCronometro(); }