JavaScript Прокрутить страницу вниз

631
16 февраля 2017, 00:09

Как прокрутить веб страницу вниз при помощи чистого java script. Страница строится динамически по мере прокрутки вниз. Я набросал код, который внизу, но есть проблема - document.body.scrollHeight не изменяется. Т.е. выполняется прокрутка один раз. Поэтому и пляски с задержкой на 100 миллисекунд, думал, что нужно время для подзагрузки. Но не помогает даже приостановка по alert.

function scrollToEndPage(height, attempt) {
alert("hight:" + height + " scrollHeight:" + document.body.scrollHeight + " att:" + attempt  );
if (height != document.body.scrollHeight)
{
    height = document.body.scrollHeight;
    window.scrollTo(0, height);
    attempt++;
    setTimeout(scrollToEndPage( height, attempt ), 100);
}
}
Answer 1

Можно сделать так

var height = 15;
var attempt = 4;
var intS = 0;
function scrollToEndPage() {
console.log("hight:" + height + " scrollHeight:" + document.body.scrollHeight + " att:" + attempt  );
if (height < document.body.scrollHeight)
{
    //height = document.body.scrollHeight;
    window.scrollTo(0, height);
    attempt++;
    height = parseInt(height) + attempt;
}
esle
{
    clearInterval(intS);
}
}
intS = setInterval(scrollToEndPage,100);
Answer 2

Получилось реализовать и через setTimeout. Нельзя так:

setTimeout(scrollToEndPage( height, attempt ) }, 100);

Нужно:

setTimeout(function() {scrollToEndPage( height, attempt ) }, 100);
READ ALSO
Изменение скорости смены слайдов

Изменение скорости смены слайдов

Необходимо осуществить возможность смены скорости слайдовПопыталась сделать через ползунок, но не работает

272
Стилизация инфо-окна google maps

Стилизация инфо-окна google maps

Всем доброго дняПодскажите пожалуйста как можно стилизовать свое информационное окно на карте гугл? Буду рад любым подсказкам

422
JQuery,animate() - как сделать анимированный блок

JQuery,animate() - как сделать анимированный блок

Дело таково что надо сделать рекламный блок который движется снизу на вверх и исчезает, затем опять появляется снизу и так до бесконечности

241