É possível rolar para um local específico na página usando o jQuery?
O local que eu quero rolar precisa ter:
<a name="#123">here</a>
Ou pode simplesmente mudar para um ID DOM específico?
jquery
scroll
scrollto
jquery-scrollable
mrblah
fonte
fonte
Respostas:
Plugin de rolagem jQuery
Como esta é uma pergunta marcada com jquery, devo dizer que esta biblioteca possui um plugin muito bom para rolagem suave, você pode encontrá-lo aqui: http://plugins.jquery.com/scrollTo/
Trechos da documentação:
ou
Função jQuery personalizada para rolagem
você pode usar uma abordagem muito leve, definindo sua função jquery de rolagem personalizada
e use-o como:
Role até as coordenadas da página
Animar
html
ebody
elementos comscrollTop
ouscrollLeft
atributosJavaScript simples
rolando com
window.scroll
apenas para resumir, use o window.location.hash para pular para o elemento com o ID
Diretamente em HTML (aprimoramentos de acessibilidade)
fonte
Sim, mesmo em JavaScript simples é muito fácil. Você atribui um ID a um elemento e pode usá-lo como um "marcador":
Se você quiser rolar para lá quando um usuário clicar em um link, basta usar o método experimentado e verdadeiro:
Para fazer isso programaticamente, use
scrollIntoView()
fonte
Não há necessidade de usar nenhum plugin, você pode fazer assim:
use-o para rolar o documento para o DOM específico:
fonte
.animate
chamada aconteça #Aqui está uma versão javascript pura:
Vai rolar automaticamente. Lembre-se de adicionar o prefixo "#".
fonte
Javascript simples:
fonte
Este exemplo mostra para localizar um determinado div id, ou seja, 'idVal' neste caso. Se você tiver divs / tabelas subsequentes que serão abertas nesta página pelo ajax, poderá atribuir divs exclusivos e chamar o script para rolar para o local específico de cada conteúdo de divs.
Espero que isso seja útil.
fonte
fonte
Tente isto
fonte
Aqui está uma variante da abordagem leve de @ juraj-blahunka . Esta função não assume que o contêiner seja o documento e apenas rolará se o item estiver fora de vista. A fila de animação também está desabilitada para evitar quedas desnecessárias.
fonte
Usando jquery.easing.min.js, com erros corrigidos de console do IE
Html
Jquery
fonte
location.hash = 'idOfElement';
deve bastarVocê pode usar
scroll-behavior: smooth;
para fazer isso sem Javascripthttps://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior
fonte