Вставить содержимое вверху страницы без прокрутки - PullRequest
4 голосов
/ 12 декабря 2011

Есть ли способ, которым я могу вставить контент в начале веб-страницы, не создавая впечатление, что на странице создается впечатление прокрутки вверх.

Я пытаюсь реализовать что-то вроде бесконечной прокрутки, но янужно иметь возможность прокручивать как вверх, так и вниз (я также выгружаю контент на другом конце, чтобы полоса прокрутки не становилась бесконечно малой и приложение не занимало слишком много памяти).

Я счастлив использовать javascript, я бы предпочел не использовать библиотеку (я стараюсь держать ее легче).

Есть идеи?

Ответы [ 3 ]

1 голос
/ 12 декабря 2011

Вы можете использовать window.scrollBy(x, y) для прокрутки вниз при добавлении контента (вам нужно рассчитать высоту того, что вы добавляете).

0 голосов
/ 03 декабря 2017

Перед выполнением кода для создания вашего элемента просто сделайте что-то вроде этого:

var scrollY = window.scrollY;

window.onscroll = function(){
    window.scrollTo(0, scrollY);
    window.onscroll = null;
};

Имейте в виду, что, если у вас уже есть функция onscroll, вам нужно будет переназначить функцию послеэто ...

0 голосов
/ 12 декабря 2011

Одна из возможных идей - полностью обойти механизм прокрутки и создать свой собственный.

По сути, расположите каждый элемент с помощью display: fixed.Затем вы можете загрузить элементы над экраном, используя отрицательные позиции.

Вам нужно будет синхронизировать высоту документа (просто добавив пробел), чтобы полосы прокрутки документа были правильными.Затем вы перехватываете событие прокрутки и корректируете фиксированное расположение всех элементов на вашей странице.

Я не уверен, насколько гладким это будет, но я вполне уверен, что вы могли бы получить эффект, который вы 'ищем.

...