Прокрутите страницу до указанной c точки с заданным процентом - PullRequest
0 голосов
/ 06 августа 2020

Я использую следующую функцию для расчета и сохранения процента прокрутки веб-страницы:

const getPercentRead = () => {
  const h = document.documentElement,
    b = document.body,
    st = "scrollTop",
    sh = "scrollHeight";
  return ((h[st] || b[st]) / ((h[sh] || b[sh]) - h.clientHeight)) * 100;
}

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

Это моя текущая попытка сделать это:

const scrolled = (percentRead / windowHeight) * 100;
window.scrollTo(0, scrolled);

Однако это не занимает меня в правильное положение прокрутки. Буду признателен за любую помощь, которую вы можете в этом оказать.

Спасибо!

1 Ответ

0 голосов
/ 06 августа 2020

Если вам не нужно использовать проценты, это решение будет работать.

Сохраните это значение:

var x = window.pageYOffset;

Затем перейдите к нему:

window.scrollTo(0, x);
...