1
resposta

O spinner continua mesmo depois da frase ser exibida, vez sim, vez não.

Boa tarde a todos,

O meu spinner ficou com um problema: ele continua aparecendo mesmo depois da frase ter sido carregada com sucesso. E ele também aparece intercalado, e não todas as vezes em que o botão é clicado. Segue o código do js:

$("#botao-frase").click(fraseAleatoria);

function fraseAleatoria(){
  $.get("http://localhost:3000/frases", trocaFrase).
  // o 2ºparâmetro é uma função que é acionada automaticamente quando
  //  os dados do servidor terminam de carregar com a requisição
  fail(function(){
    $("#erro").toggle();
    setTimeout(function(){
      $("#erro").toggle();
    }, 1500)
  })
  .always(function(){
    $("#spinner").toggle();
    })
}
1 resposta

Boa noite, Mariana! Como vai?

No trecho de código que vc postou, faltou adicionar o $("#spinner").toggle() logo no início da função fraseAleatoria()! O correto seria:

function fraseAleatoria() {

    $("#spinner").toggle();

    // Restante do código omitido.
}

Faça essa correção e veja se as coisas funcionam da forma como vc esperava.

Qualquer coisa é só falar!

Grande abraço e bons estudos, minha aluna!