在DIV中滚动时的DIV位置

时间:2011-11-30 13:58:41

标签: jquery html scroll position

我有一个问题要问你。 我正在使用这个名为jScrollPane的插件。这很酷,我喜欢它。

现在,当我在jscrollpaned DIV中向上/向下滚动时,我必须在页面的某个位置获得div的顶部位置。如果我使用$(window).scroll();它只是工作。但这个功能不是我需要的。我需要一个在滚动DIV时调用的函数。

所以$('.scroll-pane').scroll();不起作用(既不是任何容器)。

这是要理解的代码。这是有效的:

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

我坚持了下来。拜托,有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

没有一个明确的例子,很难提供帮助,但我想看看那个图书馆,所以我现在可以提供帮助:

peduarte肯定是对的,你的答案是关于API的,更具体地说是围绕event fired by that library,这非常简单:

您应该根据滚动的方式绑定事件以进行滚动,然后您几乎可以在任何地方访问scrollpane对象的上下文。

我在JSFiddle中玩了一下,看看:JSFiddle JsScrollPane sandbox;)

答案 1 :(得分:0)

这是解决方法,

<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,甚至不使用它。无论你得到什么位置。为了更好地理解,我已经指定了高度。

我认为你会想到以自己的方式弯曲它。干杯:)。