2012-03-20 2 views
5

Я хочу, чтобы html div прокручивался, когда пользователь прокручивается вниз по странице, и он достигнет фиксированной позиции, когда заканчивается родительский тег. Например: - См. Эту ссылку http://www.9gag.com/ У них есть много сообщений на одной странице. Когда мы прокручиваем одно сообщение и переходим к концу первого сообщения, кнопки заголовка и общего доступа становятся фиксированными, а затем вторая позиция делает то же самое и для последующих сообщений. Просто так. Как мы можем это сделать в JQuery, или в javascript, или в css.Javascript или JQuery: прокрутить до Фиксированная позиция div

ответ

1

$(window).scrollTop() даст вам количество пикселей, прокрученных в браузере, $('postcontainer').offset() предоставит вам позиции x, y почтового контейнера.

Таким образом, если вы связываете событие с $(window).scroll() или с mousescroll, вы можете проверить, является ли постконтейнер offset().top меньше, чем window.scrollTop. Если это произойдет, вы начнете перемещать элемент по отношению к почтовому контейнеру. При этом вам нужно отслеживать высоту почтового контейнера и высоту движущегося элемента, чтобы убедиться, что он не опускается ниже дна контейнера.

Итак, если postcontainer.height - movingelement.position().top >= movingelement.height(), то вам необходимо зафиксировать положение движущегося элемента. Выполняйте обратное во время прокрутки.

Надеюсь, это заставит вас думать и начать выкидывать какой-то код.

+0

вы можете предоставить мне хотя бы один пример. –

3

Возможно, вы хотите попробовать этот плагин: http://labs.anthonygarand.com/sticky/ Sticky - это плагин jQuery, который дает вам возможность сделать любой элемент на вашей странице всегда видимым, если элемент будет плавать, когда достигнет предела.

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