2014-12-17 2 views
0

У меня есть последовательность элементов блока на page, и все новые элементы добавляются вверху все время, отталкивая остальных. Я хотел бы сделать так, чтобы после того, как пользователь прокручивается вниз и находится над одним блочным элементом, позиция прокрутки следует за этим блочным элементом, так что он не перемещается, даже если новые элементы добавляются выше te.Не перемещайте документ, когда над ним вставлен новый элемент DOM.

+0

Короткий ответ: каждый раз, когда добавляется новый элемент, получите его высоту и вычтите из 'window.scrollY'. –

ответ

0

Да. Возможно. Если у вас есть контроль над вставкой элементов выше, вы можете рассчитать его высоту и отрегулировать вертикальную прокрутку для размещения. Имейте в виду, что прокрутка немного отличается от браузеров, поэтому вы можете быть более безопасными, используя фреймворк вроде jQuery, который обрабатывает несовместимость браузеров. И наоборот, если вы знаете, что ваши клиенты используют только один браузер, вы можете использовать прямой javascript. Эта же проблема относится к обнаружению высоты добавляемого элемента: ваш код javascript может работать на некоторых браузерах, а не на других.

Смежные вопросы