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

时间:2016-09-05 18:22:40

标签: javascript jquery scroll

我想在动态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");
    }
});

2 个答案:

答案 0 :(得分:1)

看起来您正在使用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>

答案 1 :(得分:0)

我做到了这一点:

$(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");
}
});