使用jQuery滚动和捕捉到内部元素

时间:2014-09-13 18:09:39

标签: javascript jquery scroll vertical-scrolling

我有一个涉及3个部分的页面,例如顶部,中部和底部。

每个部分都是固定高度的。让我们说在这种情况下600px;

在中间部分,我有一些内容超过规定的600px高度。对于例如1200px的内容。在中间部分创建溢出,内部滚动条。

我的问题是:

如何实现可提供以下方案的jQuery解决方案。

用户向下滚过顶部到中间部分,然后主滚动按下/切换到中间 - 内部内容,溢出为1200px高度。一旦它们向下滚动到内容的末尾,它们就会离开中间部分,滚动按钮/切换回到结束部分。

您能提供解决方案吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

<强>更新:

这可能不是您希望它的工作方式,但它可以满足您的需求: DEMO

var passed=false;
$(document).scroll(function(){
    if($('body').scrollTop()>=$('#middle').offset().top && !passed){
        $('body').css('overflow','hidden');
        $('#container').css('overflow','auto');
        $('#container').attr("tabindex",-1).focus();
        $('#container').scrollTop(0);
    }
    else if($('body').scrollTop()<$('#middle').offset().top){
        passed=false;
    }
});
$('#container').scroll(function(){
    if($(this).scrollTop()+$(this).height()>=$('#long').height()){
        $(this).css('overflow','hidden');
        $('body').css('overflow','auto');
        passed=true;
    }
});