"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como rolar automaticamente um div até o final após a adição de dados?

Como rolar automaticamente um div até o final após a adição de dados?

Publicado em 2024-11-09
Navegar:209

How to Auto-Scroll a Div to the End Upon Data Addition?

Como rolar automaticamente até o final de uma div após a adição de dados

Ao trabalhar com conteúdo dinâmico da web, geralmente é desejável que elementos como divs rolem automaticamente para na parte inferior à medida que novos dados são adicionados. Este é um requisito comum para elementos como janelas de bate-papo ou tabelas de dados de rolagem infinita.

Considere um cenário em que você tem uma tabela incluída em um div com altura fixa e deseja que ela role automaticamente até o final quando novos dados são anexados. Este artigo explora uma solução JavaScript para alcançar esse comportamento.

Abordagem JavaScript

Usando um intervalo:

Se o momento da adição de dados for desconhecido, você pode definir um intervalo para atualizar periodicamente a propriedade scrollTop do div para corresponder ao seu scrollHeight. Isso garante que o div sempre rolará para baixo, mesmo se novos dados forem adicionados entre os intervalos.

window.setInterval(function() {
  var elem = document.getElementById('data');
  elem.scrollTop = elem.scrollHeight;
}, 5000);

Neste exemplo, a função setInterval é executada a cada 5 segundos (5.000 milissegundos) e atualiza a propriedade scrollTop do div com seu scrollHeight. Isso efetivamente rola o div até o final.

Implementação sob demanda:

Se você tiver controle sobre quando os dados são adicionados ao div, você pode implementar a rolagem comportamento manualmente chamando a seguinte função após adicionar novos dados:

function scrollToEnd(elem) {
  elem.scrollTop = elem.scrollHeight;
}

Esta função pega um elemento como argumento e define sua propriedade scrollTop como scrollHeight, o que rolará o elemento para baixo. Basta chamar esta função sempre que novos dados forem adicionados ao div para obter o efeito de rolagem automática desejado.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3