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