Olá pessoal.
Meu código estava funcionando tudo ok até colocar as funções. Cheguei até este ponto, quando clico no botão reiniciar, aparece isso no tempo "[object Object] segundos" e não some. O detalhe é que não aparece erro nenhum. Onde estou errando? Acho que é alguma coisa com o $("#tempo-digitacao"), mas não acho...
var tempoInicial = $("#tempo-digitacao");
var campo = $("#campo-digitacao");
//$(document).ready() = $(function()
$(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.on("input", function () {
var conteudo = campo.val();
var qtdPalavras = conteudo.split(/\S+/).length - 1;
$("#contador-palavras").text(qtdPalavras);
//retira o espaço da String
var conteudoSemEspaco = conteudo.replace(/\s+/g, '');
var qtdCaracteres = conteudoSemEspaco.length;
$("#contador-caracteres").text(qtdCaracteres);
});
};
function inicializaCronometro() {
var tempoRestante = $("#tempo-digitacao").text();
campo.one("focus", function() {
setInterval(function() {
var cronometroID = tempoRestante--;
console.log(tempoRestante);
$("#tempo-digitacao").text(tempoRestante);
if (tempoRestante < 1) {
campo.attr("disabled", true);
clearInterval(cronometroID);
};
}, 1000);
})
};
function inicializaCronometro() {
var tempoRestante = $("#tempo-digitacao").text();
campo.one("focus", function () {
var cronometroID = setInterval(function () {
tempoRestante--;
$("#tempo-digitacao").text(tempoRestante);
if (tempoRestante < 1) {
campo.attr("disabled", true);
clearInterval(cronometroID);
}
}, 1000);
});
}
function reiniciaJogo() {
campo.attr("disabled", false);
campo.val("");
$("#contador-palavras").text("0");
$("#contador-caracteres").text("0");
$("#tempo-digitacao").text(tempoInicial);
inicializaCronometro();
};