タッチ オーバーフロー コンテナーで次のコードを使用すると、高速スクロール (連続する素早いフリック) 時と結果の「勢い」によってコンテンツがまだ移動している間を除き、正常に動作します。速い勢いでスクロールしている間、コンテンツの速度が遅くなる/静止位置に戻るまで、div は表示/非表示になりません。
$('.container').on('scroll', function () {
var yDistance = $(this).scrollTop();
if (yDistance > 300) {
$('#div').hide();
} else {
$('#div').show();
}
});
JSスタックに優先順位を付けるために1ミリ秒のタイムアウトを試みましたが、結果は変わりませんでした。すべてのレンダリングがモーメンタム ビジュアルに転用され、JS DOM 操作がキューに入れられていると思われます。
この単純な div の非表示/表示が、スクロール関連のレンダリングの中で優先されるようにする方法はありますか?