Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Função reinciaJogo

Olá, aqui não funcionou corretamente. Eu tive de adicionar a função reload do JavaScript para dar 'refresh' no navegador (o mesmo que 'Ctrl+F5'), como descrito abaixo:

function reiniciaJogo() {
    campo.attr('disabled', false);
    campo.val('');
    $('#contador-palavras').text('0');
    $('#contador-caracteres').text('0');
    $('#tempo-digitacao').text(tempoInicial);
    location.reload(true); // trecho inserido para dar refresh no navegador
};

Porquê será?

6 respostas

Oi Marcelo, se vc não colocar essa linha que faz o refresh, aparece algum erro no console?

Não, simplesmente não reinicia o jogo. É importante ressaltar que eu testei no firefox e no chrome, e meu SO é linux.

Oi Marcelo, algumas coisas pra você observar:

  1. você colocou essas linhas no começo de seu código?

    var campo = $(".campo-digitacao");
    var tempoInicial = $("#tempo-digitacao").text();
  2. tenta ir no seu console do navegador e rodar cada uma das linhas da função reiniciaJogo separadamente pra ver se acontece algum erro?

Olá Philippe, inicialmente obrigado por responder. Com relação às suas perguntas:

  1. Sim,
  2. Testei individualmente cada linha e o console não retornou nenhum erro.

Eu revisei o código, e não parece haver nada errado nele. Eu sempre uso as versões mais atuais de todos meus browsers. Será alguma diferença de comportamento entre meus browsers e o chrome do professor?

Valeu!

Oi Marcelo,

O que exatamente não funcionou ? Você clica no botão e nada acontece ?

Você atrelou ao botão um evento de click ?

$("#botao-reiniciar").click(reiniciaJogo);

Lembrou de atrelar este evento quando a página for carregada , utilizando a função $ ?

$(function(){
    atualizaTamanhoFrase();
    inicializaContadores();
    inicializaCronometro();
    $("#botao-reiniciar").click(reiniciaJogo);
});

Me dê mais detalhes para que possa te ajudar

solução!

Olá Douglas, mil desculpas.

Eu baixei os fontes do outro capítulo e observei que havia esquecido de chamar a função inicializarCronometro() dentro da função reiniciaJogo().

Agora funciona, é óbvio!

Grato.