2013-04-19 4 views
-3

Это немного сложно, так что, пожалуйста, обратитесь к этой странице для примера: No Nay Never post pageРазрешить фиксированный ДИВ прокручивать снова

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

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

Я не могу понять, как это сделать - любая помощь будет широко оценена.

+0

Это может быть сделано с помощью scrollTop() http://api.jquery.com/scrollTop/ – Sprottenwels

+0

Для быстрого Например, он должен вести себя как изображения здесь: http://www.wired.co.uk/news/archive/2013-04/19/new-dinosaur –

+0

Спасибо Sprottenwells, я посмотрю, что сегодня днем! –

ответ

0

Когда вы начинаете прокрутку, вы делаете изображение fixed после определенного scrollTop, я предполагаю?

Все, что вам нужно знать, чтобы дать элементу положение absolute, когда достигнуто большее scrollTop. Абсолютное положение, о котором идет речь, должно быть получено из верхнего смещения раздела комментариев и высоты липкого изображения.

+0

Спасибо Дэвиду. Ваше предположение действительно правильно, и это объяснение имеет смысл. Я попытаюсь решить эту проблему, спасибо за ваш быстрый ответ и полезные советы. –

0

Вы, вероятно, может достичь этого, используя функцию прокрутки, которая проверяет место страницы каждый раз, когда пользователь прокручивает

$(window).scroll(function() { 
    //event will fire each time a user scrolls 
    //get the top page position 
    var screenTop = $(document).scrollTop(); 

    //Evaluate the position, do what you want 
}); 
0

Сайт в примере используется scrollTop. В каком-то момент скроллинге есть класс «липкие» добавлено в DIV (#left) с яваскриптом функцией:

function fixDiv() { 
    var $div = $("#left"); 
    if ($(window).scrollTop() > $div.data("top")) { 
     $div.addClass("sticky"); 
    } 
    else { 
     $div.removeClass("sticky"); 
    } 
} 

заданных позиционных данные («сверху») читаются в этом маленьком фрагменте

$("#left").data("top", $("#left").offset().top); // set original position on load 
$(window).scroll(fixDiv); 

Комментарий говорит сам за себя. Исходное положение для чтения,

Это «липкий» класс:

.sticky { 
    position: fixed !important; 
    top: 0 !important; 
} 
Смежные вопросы