<div id="containerDiv"></div>
#containerDiv {
position: absolute;
top: 0px;
width: 400px;
height: 100%;
padding: 5px;
font-size: .875em;
overflow-y: scroll;
}
document.getElementById("containerDiv").innerHTML = variableLongText;
Como redefinir a posição de rolagem de volta para o topo do div do contêiner na próxima vez?
javascript
html
scroll
estou aqui
fonte
fonte
Outra maneira de fazer isso com uma animação suave é assim
fonte
slow
, é tão ... lento!slow
como segundo argumento. Você pode passar um número inteiro que seria o número de milissegundos para a animação ser concluída.Tentei as respostas existentes para esta pergunta, e nenhuma delas funcionou no Chrome para mim. O que funcionou foi um pouco diferente:
fonte
scrollTo
é a solução definitiva para rolar as janelas para cima - a melhor parte é que não requer nenhum seletor de id e, mesmo se usarmos a estrutura IFRAME, funcionará extremamente bem.
jQuery
Outra opção para fazer o mesmo é usar jQuery e vai dar uma aparência mais suave para o mesmo
onde 0 após o scrollTop especifica a posição da barra de rolagem vertical no pixel e o segundo parâmetro é um parâmetro opcional que mostra o tempo em microssegundos para concluir a tarefa.
fonte
document.getElementById('scroller').scrollTo(0,0)
Isso funcionou para mim:
fonte
document.getElementById("yourDivID").scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"})
scollIntoView
só funciona se você chamá-lo no elemento que deve ser rolado. Em outras palavras, não chamá-lo no elemento que você quer para se deslocar para , chamá-lo no elemento que você deseja rolar.Para aqueles que ainda não conseguiram fazer esse trabalho, certifique-se de que o elemento transbordado seja exibido antes de usar a função jQuery .
Exemplo:
fonte
Para mim, o modo scrollTop não funcionou, mas encontrei outro:
Não foi verificado o tempo mínimo para renderização de css confiável, 100 ms pode ser um exagero.
fonte
Se quiser rolar com uma transição suave, você pode usar isso!
(Vanilla JS)
Espero que isto ajude!!
fonte
De acordo com a resposta de François Noël "Para aqueles que ainda não conseguiram fazer este trabalho, certifique-se de que o elemento transbordado seja exibido antes de usar a função jQuery."
Eu estava trabalhando em um modal de bootstrap que repetidamente exibo com permissões de conta em uma div que transborda na dimensão y. Meu problema era que eu estava tentando usar a função jquery .scrollTop (0) e ela não funcionava, não importa o quanto eu tentasse. Tive que configurar um evento para o modal que não zera a barra de rolagem até que o modal parasse de animar. O código que finalmente funcionou para mim está aqui:
fonte
Se o conteúdo html estourar uma única janela de visualização, funcionou para mim usando apenas javascript:
Saudações,
fonte
Esta é a única maneira que funcionou para mim, com transição de rolagem suave:
fonte
Ao obter o elemento pelo nome da classe, não se esqueça que o valor de retorno é um array; Daí este código:
Não funcionaria. Use o código abaixo.
Achei que outras pessoas poderiam encontrar um problema semelhante ao que eu; então isso deve funcionar.
fonte
esses dois códigos funcionaram perfeitamente para mim, este primeiro levará para rolar para o topo da página, mas se você quiser rolar para algum div específico, use o segundo com seu id de div.
Se você quiser rolar até por um nome de classe, use o código abaixo
fonte
O ID deve ter o id do div correspondente que possui a propriedade overflow css.
document.querySelector('#YOUR_OVERFLOWED_DIV').scrollTop = 0;
fonte