如何停止滚动时,动态div结束



我想在动态div到达其结束后停止滚动。这个div将保存动态内容,所以大小永远不会保持不变。我知道如何锁定位置时,滚动命中预定义的高度,但不知道如何做到这一点,当高度不断变化。这是我在到达特定点时使用的标准锁定滚动:

var profile_rc = $("#profile-rc");
$(window).scroll(function() {
    var scroll = $(window).scrollTop();
    if (scroll >= 285) {
        profile_rc.addClass("p-right-column");
    } else {
        profile_rc.removeClass("p-right-column");
    }
});

看起来你正在使用jQuery,下面的两个例子可能会有所帮助。

检测屏幕动态高度

<script>
$(function(){
    var windowHeight = $(window).height();
    $(window).resize(function() {
        windowHeight = $(window).height();
        console.log(windowHeight);
    });
});
<script>

检测div的动态高度

<script>
$(function(){
    var divHeight = $('#your-div-id').css("height");
    $( window ).on("resize", function() {
       divHeight = $('#your-div-id').css("height");
       console.log(divHeight);
    });
});
</script>

我让它这样工作:

$(window).scroll(function() {
var divHeight = $('#farleft-cont').outerheight(true);
var ycbc = $('#target-div');
var scroll = $(window).scrollTop();
if (scroll >= divHeight) {
ycbc.addClass("target-div-fixed");
} else {
ycbc.removeClass("target-div-fixed");
}
});