在触摸溢出容器上使用以下代码可以正常工作,除非在快速滚动(快速连续轻弹)期间以及内容仍然从产生的“动量”移动。在快速动量滚动期间,div不会显示/隐藏,直到内容减慢/缓和到休息位置。
$('.container').on('scroll', function () {
var yDistance = $(this).scrollTop();
if (yDistance > 300) {
$('#div').hide();
} else {
$('#div').show();
}
});
我尝试了1ms的超时,在JS堆栈中放置了一些优先级,结果没有变化。我怀疑所有渲染都转向动量视觉效果,任何JS DOM操作都排队等候。
有没有办法确保div的这个简单隐藏/显示在滚动相关渲染中获得优先权?