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

(Эй, первое сообщение от давнего скрытника :)

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

Так что мне в голову пришла эта идея. Все начинается, как показано выше:

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

Но здесь она становится более динамичной:

  • Если боковая панель выше, чем область просмотра, она продолжает прокручивать содержимое до нижней боковой панели, и она там фиксируется. Верх боковой панели прокручивается за пределы области просмотра.

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

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

Любые указатели на примеры или удобный для jQuery код были бы очень признательны за фрагменты / рекомендации.

28
задан Jon Fabritius 2 December 2010 в 21:29
поделиться