2016-09-05 1 views
0

Я хочу остановить прокрутку после того, как динамический 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"); 
    } 
}); 

ответ

1

Похоже, вы используете JQuery, следующие 2 примера может помочь.

Определение динамической высоты экрана

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