Eu tenho uma div na minha página:
<div id='div1' style='overflow:scroll;overflow-x:hidden;max-height:200px;'></div>
Como posso fazer a div rolar para a parte inferior da div? Não é a página, apenas o DIV.
As outras soluções aqui na verdade não funcionam para divs com muito conteúdo - ele "atinge o máximo" rolando para baixo até a altura da div (em vez da altura do conteúdo da div). Portanto, eles funcionarão, a menos que você tenha mais do que o dobro da altura da div no conteúdo.
Aqui está a versão correta:
$('#div1').scrollTop($('#div1')[0].scrollHeight);
ou versão do jQuery 1.6+:
var d = $('#div1');
d.scrollTop(d.prop("scrollHeight"));
Ou animado:
$("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);
div1
?d = $('#div1'); $(d).scrollTop( $(d).prop("scrollHeight") );
Todas as respostas que posso ver aqui, incluindo a atualmente "aceita", estão realmente erradas no que definem:
Considerando que a abordagem correta é definir:
Em outras palavras:
Ou animado:
fonte
ATUALIZAÇÃO: consulte a solução de Mike Todd para obter uma resposta completa.
se você deseja que seja animado (mais de 1000 milissegundos).
se você quiser instantâneo.
fonte
Isso agarra a altura da página e a rola para baixo quando a janela é carregada. Altere
1000
para o que for necessário, mais rápido / mais lento quando a página estiver pronta.fonte
tente isto:
fonte
Role a janela para a parte inferior da div de destino.
fonte
O seguinte irá funcionar. Observe
[0]
escrollHeight
fonte
para animar em jquery (versão> 2.0)
fonte
Nada disso funcionou para mim, eu tenho um sistema de mensagens dentro de um aplicativo da web que é semelhante ao messenger do Facebook e queria que as mensagens aparecessem na parte inferior de uma div.
Isso funcionou muito bem, Javascript básico.
fonte
Estou trabalhando em uma base de código herdada tentando migrar para o Vue.
Na minha situação específica (div rolável envolvida em um modal de inicialização), um v-if mostrava novo conteúdo, para o qual eu queria que a página rolasse para baixo. Para que esse comportamento funcionasse, tive que esperar o vue concluir a nova renderização e usar o jQuery para rolar até a parte inferior do modal.
Assim...
fonte
Você pode usar o código abaixo para rolar para a parte inferior da div no carregamento da página.
fonte
Você pode verificar scrollHeight e clientHeight com scrollTop para rolar para a parte inferior da div como no código abaixo.
fonte
Quando a página é carregada, a rolagem é o valor máximo.
Esta é uma caixa de mensagem quando o usuário envia uma mensagem e sempre mostra o bate-papo mais recente para baixo, para que o valor de rolagem seja sempre o máximo.
ver imagem
fonte