我有一个设计,我试图锁定"当视口达到窗口内的特定距离时,通过实际添加溢出:隐藏到主体的视口。我宁愿不必解决它。我的问题:有没有一种方法可以让我的卷轴足够精细,我可以将其触发到特定值?如果我滚得太快,它就会错过目标。不是最糟糕的事情,但需要慢速滚动才能进行,这有点奇怪。
const scrollTop = $(window).scrollTop();
const elementOffset = $("#my-div").offset().top;
const distance = (elementOffset - scrollTop);
if (distance === 75){
this.toggleNoScroll();
}
答案 0 :(得分:0)
有没有一种方法可以让我的卷轴足够精细,我可以将其触发到特定值?
不是,不。您可以快速了解UI更新滚动位置的速度以及用户滚动的速度。
另一种方法是定位滚动位置范围,如下所示:
if (distance >= 75 || distance <= 100) {
this.toggleNoScroll();
}
我还建议您使用position: fixed
。如果您有这样的理由,我会在尝试寻找替代方案之前解决这个问题。