Положение DIV при прокрутке в DIV - PullRequest
1 голос
/ 30 ноября 2011

У меня есть к вам вопрос. Я использую этот плагин под названием jScrollPane . Это довольно круто, я люблю это.

Теперь я должен получить верхнюю позицию div где-то на странице, когда прокручиваю вверх / вниз ВНУТРИ прокручиваемого DIV. Если я использую $(window).scroll();, это просто работает. Но эта функция не то, что мне нужно. Мне нужна функция, которая вызывается при прокрутке в этом DIV.

То есть $('.scroll-pane').scroll(); не работает (ни один из его контейнеров).

Вот код для понимания. Это работает:

$(window).scroll(function() {
    var head_pos = $('.lister-head').offset();
});

Я застрял. Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 05 июня 2013

вот обходной путь,

<div style="position:fixed; margin-left:300px; font-size:24px; text-decoration:none; font-weight:bold; font-style:normal;">
<a href="#whatisit">What is it</a>
<a href="#desc">Description</a>
<a href="#faq">FAQ</a>
</div>

<div id="clockbox" style="height:4000px;">
<h1 id="whatisit" style="height:400px;">What is it</h1>
<h1 id="desc" style="height:400px;">Description</h1>
<h1 id="faq" style="height:400px;">FAQ</h1>


</div>

И сценарий,

$(window).scroll(function() {

if(parseInt($('#whatisit').offset().top)  + $('#whatisit').height() >= ($(window).scrollTop())){ 
    $('a').css('color','blue');
    $('a[href="#whatisit"]').css('color','black');
}
else if(parseInt($('#desc').offset().top) + $('#desc').height()>= ($(window).scrollTop())){ 
    $('a').css('color','blue');
    $('a[href="#desc"]').css('color','black');
}
else if(parseInt($('#faq').offset().top) + $('#faq').height() >= ($(window).scrollTop())){ 
    $('a').css('color','blue');
    $('a[href="#faq"]').css('color','black');
}

});

Вы также можете использовать% height или даже не использовать его. Независимо от того, что вы получите должность. Для лучшего понимания я указал высоту.

Думаю, у тебя появится идея согнуть это по-своему. Приветствия:).

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

Без четкого примера, трудно помочь, но я хотел взглянуть на эту библиотеку, так что теперь я могу помочь:

peduarte, безусловно, был прав, ваш ответ касается API, а точнее, события , инициированного этой библиотекой , что довольно просто:

Вы должны привязать событие для прокрутки, в зависимости от того, как вы прокручиваете, и тогда у вас есть доступ к контексту объекта полосы прокрутки почти везде.

Я немного поиграл в JSFiddle, посмотрите: JSFiddle Песочница JsScrollPane ;)

...