5
respostas

Não consigui fazer a pagina "scrollar".

Não estou conseguindo identificar o problema.

function inserePlacar() { var corpoTabela = $(".placar").find("tbody"); var usuario = "Jonathan"; var numPalavras = $("#contador-palavras").text();

var linha = novaLinha(usuario, numPalavras);

linha.find(".botao-remover").click(removeLinha);

corpoTabela.prepend(linha); $(".placar").slideDown(500); scrollPlacar(); }

function scrollPlacar() { var posicaoPlacar = $(".placar").offset().top; console.log(posicaoPlacar); $("body").animate( { scrollTop: posicaoPlacar + "px" },1000); }

5 respostas

Boa tarde,

Consegui adicionando o html.

$("body,html").animate( { scrollTop: posicaoPlacar + "px" },1000);

Obs.: Meu navegador é o chrome.

Boa tarde Jonathan,

Mas qual é o erro que estava dando?

O comando $("body").animate( { scrollTop: posicaoPlacar + "px" },1000); não está funcionando?

Não funciona, só quando coloco o html. Não exibe nenhum erro no console. Versão do chrome: Versão 61.0.3163.100 (Versão oficial) 64 bits. Versão do firefox: 56.0 (32 bits)

function scrollPlacar() { var posicaoPlacar = $(".placar").offset().top;

$("body").animate( { scrollTop: posicaoPlacar + "px" },1000); }

Olá,

Também tive o mesmo problema de a lógica sem o HTML não funcionar o scroll, apenas passando no seletor jQuery $("html,body") o scroll funciona. Consegui simular o problema ocorrendo nos navegadores: Chrome, Firefox e IE.

Pesquisando encontrei alguns comentários que a body não funciona pois ela não possui a property 'scrollTop', o que percebi não ser totalmente verdade, pois realizando o console.log do html e do body ambos possuem a property scrollTop.

Outras fontes informaram que talvez seja uma diferença de funcionamento entre navegadores/versão... Enfim não consegui encontrar nenhuma definição exata do porque não funciona quando passamos apenas "body" o evento não ocorre corretamente.

Olá Pessoal,

Então, não consegui simular este erro, nos meus testes se eu coloco body ou body, html funciona normalmente, o que não funcionou no meu teste foi colocar apenas o html.

O que eu verifiquei em alguns outros fóruns é que alguns navegadores consideram o body como conteúdo do site e alguns outros o html, então por padrão e garantia que funcione em todos, eles usam body, html.

Espero ter ajudado!

Abraços!