2
respostas

Função $(document).ready(function) não funciona

Olá, pessoal. Depois de criadas as funções para "atualizar o tamanho da frase", "inicializar contadores" e "inicializar cronometro" (até aí, tudo estava funcionando perfeitamente bem), o instrutor criou a função "$(document).ready(function)" de forma a permitir que as funções criadas fossem carregadas antes de iniciar o programa. Entretanto, após entrar com esta nova função, o programa parou de funcionar. Ou seja, ele não está carregando as funções anteriores no início do programa. Já revi o código 100 vezes, já reescrevi, já abri em outro navegador e, simplesmente, não funciona. Por acaso esse tipo de situação já ocorreu com alguém?

2 respostas

José Luiz se você acompanhar o video a função $(document).ready(function() é subistituida por $(function(){ atualizaTamanhoFrase(); inicializaContadores(); inicializaCronometro(); $("#botao-reiniciar").click(reiniciaJogo); });

e o arquivo completo fica assim:

var tempoInicial = $("#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.on("input",function() { var conteudo = campo.val();

    var qtdPalavras = conteudo.split(" ").length;
    $("#contador-palavras").text(qtdPalavras);

    var qtdCaracteres = conteudo.length;
    $("#contador-caracteres").text(qtdCaracteres);
});

}

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(); }

Se der erro posta para darmos uma olhada.

Ok, Hiderlado. Vou rever o código novamente, com suas observações. Obrigado.