it-roy-ru.com

Как автоматически прокрутить до конца div при добавлении данных?

У меня есть table внутри div со следующим стилем:

#data {
    overflow-x:hidden;
    overflow-y:visible;
    height:500px;
}

Появится вертикальная полоса прокрутки, как только в таблицу будет добавлено достаточно данных. Однако, когда добавляются новые данные, я бы хотел, чтобы элемент div автоматически прокручивался вниз.

Какой код JavaScript я могу использовать для этого? Я открыт для опций в JQuery, если это необходимо, но я бы предпочел решение на JavaScript.

84
Drew Galbraith

Если вы не знаете, когда данные будут добавлены в #data, вы можете установить интервал обновления элемента scrollTop до scrollHeight каждые несколько секунд. Если вы контролируете, когда добавляются данные, просто вызовите внутреннюю часть следующей функции после добавления данных.

window.setInterval(function() {
  var elem = document.getElementById('data');
  elem.scrollTop = elem.scrollHeight;
}, 5000);
121
VNO
var objDiv = document.getElementById("divExample");
objDiv.scrollTop = objDiv.scrollHeight;
42
Valamas