1

在触摸溢出容器上使用以下代码可以正常工作,除非在快速滚动(快速连续轻弹)期间以及内容仍在从产生的“动量”移动时。在快速动量滚动期间,div 不会显示/隐藏,直到内容变慢/缓和到静止位置。

$('.container').on('scroll', function () {
    var yDistance = $(this).scrollTop();

    if (yDistance > 300) {
        $('#div').hide();
    } else {
        $('#div').show();
    }
});

我尝试了 1ms 超时以在 JS 堆栈中放置一些优先级,结果没有变化。我怀疑所有的渲染都被转移到了动量视觉上,并且任何 JS DOM 操作都被排队了。

有什么方法可以确保 div 的这种简单隐藏/显示在滚动相关渲染中获得优先权?

4

0 回答 0