当页面在div中滚动时,jQuery使div保持可见

Diz*_*igh 0 html jquery scroll

我在页面右侧有一个链接列表,单击该链接可加载ajax内容

因为链接列表比内容长,我想始终保持加载的内容在视图中

我正在使用以下代码来做到这一点

$(window).scroll(function(){
    $("#answertext")
    .stop()
    .animate({"marginTop": ($(window).scrollTop() - 500) + "px"}, "slow" );
});
Run Code Online (Sandbox Code Playgroud)

问题是我想将其包含在其保持的div中,此刻,如果我滚动到页面顶部,则div离开其包含div并将鼠标悬停在上面的内容上。

看看他的网址以查看问题(单击新闻以加载ajax内容,然后滚动页面) 演示

更新:

谢谢locrizak,现稍微编辑了您的代码:

就像您曾经在_offset声明中省略#一样,它什么也没有做,所以我将_offset更改为包含div的'#tabpage5',现在将div放置在内容中时,它会将div放在正确的位置。

var tp5_offset = $("#tabpage5").offset();
if ( $(window).scrollTop() > tp5_offset.top ){
    $("#answertext")
    .stop()
    .animate({"marginTop": ($(window).scrollTop() - tp5_offset.top) + "px"}, "slow" );
}
Run Code Online (Sandbox Code Playgroud)

尽管我希望它随着窗口滚动而滚动,但仍处于#tabpage5 div的范围内。关于如何做到这一点的任何想法?

jum*_*hen 5

更改此行,如下所示:

.animate({"marginTop": (Math.max(0, $(window).scrollTop() - 500)) + "px"}, "slow" );
Run Code Online (Sandbox Code Playgroud)