次の 2 つの関数があります...
リーリーsizeSearch()
関数は正常に動作します。 clearSizeSearch()
関数が呼び出されると、すべての <li>
要素が期待どおりに再表示され、期待された .active
要素がスクロールして表示されます。ビューが表示されますが、すぐにコンテナ要素の最上部にスクロールして戻ります (または、DOM の安定が完了した後、この方法で再レンダリングされる可能性があります)。
コンソールで document.querySelector('ul.size-ranks li.active').scrollIntoView();
を手動で実行してから、clearSizeSearch()
を実行すると、それはちょうどうまくいきます。これは、clearSizeSearch()
の実行時にスクロールしてビューに表示されるのが簡単に確認できるという事実と相まって、前のコマンドの実行が完了する前に実行される可能性があることを示しているようですが、私の知る限り、 forEach()
デフォルトは非同期ではないため、その後のコマンドは完了するまで実行されません。
これが私の解決策です。
リーリー