forEach ループ後のscrollIntoViewの実行が早すぎます
P粉504920992
P粉504920992 2023-09-17 00:27:54
0
1
642

次の 2 つの関数があります...

リーリー

sizeSearch() 関数は正常に動作します。 clearSizeSearch() 関数が呼び出されると、すべての <li> 要素が期待どおりに再表示され、期待された .active 要素がスクロールして表示されます。ビューが表示されますが、すぐにコンテナ要素の最上部にスクロールして戻ります (または、DOM の安定が完了した後、この方法で再レンダリングされる可能性があります)。

コンソールで document.querySelector('ul.size-ranks li.active').scrollIntoView(); を手動で実行してから、clearSizeSearch() を実行すると、それはちょうどうまくいきます。これは、clearSizeSearch() の実行時にスクロールしてビューに表示されるのが簡単に確認できるという事実と相まって、前のコマンドの実行が完了する前に実行される可能性があることを示しているようですが、私の知る限り、 forEach()デフォルトは非同期ではないため、その後のコマンドは完了するまで実行されません。

P粉504920992
P粉504920992

全員に返信(1)
P粉633733146

これが私の解決策です。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!