Автоматическая прокрутка страницы или блока может быть полезна при постоянном выводе контента (чат, постоянный вывод текста и т.д.), сделать такую прокрутку легко:
Или более плавная прокрутка на методе jQueryanimate()
: setInterval(function(){
$('html,body').animate({scrollTop: $('html,body').get(0).scrollHeight}, 1000);
}, 1000);
Но данные примеры не позволят прокрутить страницу вверх, ползунок всегда будет возвращаться вниз. Поэтому необходимо выключать автопрокрутку при скроллинге.
Автопрокрутка всей страницы
var timer;
var isPaused = false;
$(window).on('wheel', function(){
isPaused = true;
clearTimeout(timer);
timer = window.setTimeout(function(){
isPaused = false;
}, 1000);
});
window.setInterval(function(){
if(!isPaused){
window.scrollTo(0, document.body.scrollHeight);
}
}, 500);
Результат:
Пример для div-блока
var timer;
var isPaused = false;
$(window).on('wheel', function(){
isPaused = true;
clearTimeout(timer);
timer = window.setTimeout(function(){
isPaused = false;
}, 1000);
});
window.setInterval(function(){
if(!isPaused){
$("#box").scrollTop($("#box")[0].scrollHeight);
}
}, 500);
Как выключать автопрокрутку при скроллинге?
Авторизуйтесь, чтобы добавить комментарий.