Blazorサーバー側でウィンドウまたはボディのスクロールを処理する方法は?

fingers10

私は、キャプチャに必要なonscrollのイベントwindowbody私のblazorサーバ側アプリケーションで。今のところ、イベントをキャプチャしてそこでロジックを実行するスクリプトファイルを使用してこれを実装しました。

の場合window

window.onscroll = function() {myFunction()};

function myFunction() {
  //  ... my logics here
}

タグのonscrollイベントをキャプチャする方法bodyblazorではサーバー側body_Host.cshtml使用できないファイルにあります@onscroll

の場合body

<body onscroll="myFunction()">

上記のものは機能しますが、blazorを使用しているときのこの実装には満足していません。

これを純粋にC#で実装する方法を支援してください。

fingers10

@近眼のマグー私を正しい方向に向けてくれてありがとう。を使用してこれを機能させましたIntersectionObserver

これが私がしたことです、

タグへの参照をwindow.onscroll = function() {myFunction()};削除しonscroll="myFunction()"<body>タグからも削除しました

そして、Index.razorコンポーネントIntersectionObserverから私の関数OnAfterRenderAsyncを呼び出しました

@code{

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            await JSRuntime.InvokeVoidAsync("highlightMenu");
        }
    }

}

IntersectionObserver 関数:

function myFunction() {
    const sections = document.querySelectorAll('.page-section,.site-header');
    const config = {
        rootMargin: '-55px 0px -85%'
    };

    let observer = new IntersectionObserver(function
        (entries, self) {

        entries.forEach(entry => {
            if (entry.isIntersecting) {
                intersectionHandler(entry);
            }
        });
    }, config);

    sections.forEach(section => observer.observe(section));
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ウィンドウスクロールを処理する方法

分類Dev

Angular 4でウィンドウスクロールイベントを処理する方法は?

分類Dev

Angular 4でウィンドウスクロールイベントを処理する方法は?

分類Dev

ピボット、group by、またはウィンドウ処理でカウントを取得するoracle sqlステートメント?オラクル11g

分類Dev

ウィンドウスクロールを効率的に処理する方法

分類Dev

スクロールバーのサイズなしで内側のウィンドウの高さを取得するにはどうすればよいですか?(clientHeightを経由することはできません)

分類Dev

ウィンドウサイズに基づいてスクロールボタンを選択的に有効または無効にする方法

分類Dev

jhipsterを使用するマイクロサービスで、UAAサーバーを使用すると、ユーザーエンティティはUAAサーバーまたはゲートウェイのデータベースにありますか?

分類Dev

クライアント側の処理でデータテーブルを遅延ロードする方法は?

分類Dev

指定されたデータセット内の値のパーセンテージウィンドウでデータの行をグループ化し、データセットを反復処理する方法はありますか?

分類Dev

ワンクリックトレーディングウィンドウのロットサイズフィールド入力の値をエキスパートアドバイザーコードで変更することは可能ですか?

分類Dev

tkinter for python 3.5でスクロールバーを使用して別のウィンドウを開いたり閉じたりする方法は?

分類Dev

javascriptまたはjqueryを使用して特定の場所でディスク上のファイルをダウンロードする方法は?

分類Dev

cmdでスクロールバーを削除する方法は?- ウィンドウズ10

分類Dev

PySDL2:色とテキストを処理するためのレンダラーまたはウィンドウサーフェス?

分類Dev

iOSデバイスがロックされているときまたは別のアプリケーションで再生されているバックグラウンドオーディオを処理するにはどうすればよいですか?

分類Dev

入力フィールドの変更を処理する方法、およびデバウンス関数reactjs

分類Dev

数千のファイルのサブ処理からバックグラウンドで制限されたプロセスをフォークする方法

分類Dev

数千のファイルのサブ処理からバックグラウンドで制限されたプロセスをフォークする方法

分類Dev

Xウィンドウを備えたサーバーでプロセスを切り離す方法は?

分類Dev

JsまたはJqueryでウィンドウの上部にスクロールした要素を選択します

分類Dev

DNSラウンドロビンは権限のあるサーバーまたは再帰サーバーで処理されますか?

分類Dev

Node.js:サーバー側で画像ウィンドウを開く方法は?

分類Dev

クロスブラウザウィンドウのポップアップタイトルとファイルを処理するためにAutoItスクリプトをパラメータ化する方法は?

分類Dev

DataGridテーブルをウィンドウサイズに調整し、ウィンドウサイズ外のデータにスクロールバーを使用します-ScrollBarは表示されません

分類Dev

Next.js + Babelを使用してグローバル(ウィンドウ)ナビゲーターをポリフィルまたはモックする方法は?

分類Dev

ダウンロードしたファイル(オーディオ、ドキュメント)をmac os xサンドボックスアプリケーションのユーザーのダウンロードフォルダーに自動的に保存するにはどうすればよいですか?

分類Dev

サファリとクロームの選択ボックス(ドロップダウンボックス)で高さまたはパディングを設定するにはどうすればよいですか?

分類Dev

グループ化サイズの倍数ではないシーケンス上の値のスライディングウィンドウを処理するにはどうすればよいですか?

Related 関連記事

  1. 1

    ウィンドウスクロールを処理する方法

  2. 2

    Angular 4でウィンドウスクロールイベントを処理する方法は?

  3. 3

    Angular 4でウィンドウスクロールイベントを処理する方法は?

  4. 4

    ピボット、group by、またはウィンドウ処理でカウントを取得するoracle sqlステートメント?オラクル11g

  5. 5

    ウィンドウスクロールを効率的に処理する方法

  6. 6

    スクロールバーのサイズなしで内側のウィンドウの高さを取得するにはどうすればよいですか?(clientHeightを経由することはできません)

  7. 7

    ウィンドウサイズに基づいてスクロールボタンを選択的に有効または無効にする方法

  8. 8

    jhipsterを使用するマイクロサービスで、UAAサーバーを使用すると、ユーザーエンティティはUAAサーバーまたはゲートウェイのデータベースにありますか?

  9. 9

    クライアント側の処理でデータテーブルを遅延ロードする方法は?

  10. 10

    指定されたデータセット内の値のパーセンテージウィンドウでデータの行をグループ化し、データセットを反復処理する方法はありますか?

  11. 11

    ワンクリックトレーディングウィンドウのロットサイズフィールド入力の値をエキスパートアドバイザーコードで変更することは可能ですか?

  12. 12

    tkinter for python 3.5でスクロールバーを使用して別のウィンドウを開いたり閉じたりする方法は?

  13. 13

    javascriptまたはjqueryを使用して特定の場所でディスク上のファイルをダウンロードする方法は?

  14. 14

    cmdでスクロールバーを削除する方法は?- ウィンドウズ10

  15. 15

    PySDL2:色とテキストを処理するためのレンダラーまたはウィンドウサーフェス?

  16. 16

    iOSデバイスがロックされているときまたは別のアプリケーションで再生されているバックグラウンドオーディオを処理するにはどうすればよいですか?

  17. 17

    入力フィールドの変更を処理する方法、およびデバウンス関数reactjs

  18. 18

    数千のファイルのサブ処理からバックグラウンドで制限されたプロセスをフォークする方法

  19. 19

    数千のファイルのサブ処理からバックグラウンドで制限されたプロセスをフォークする方法

  20. 20

    Xウィンドウを備えたサーバーでプロセスを切り離す方法は?

  21. 21

    JsまたはJqueryでウィンドウの上部にスクロールした要素を選択します

  22. 22

    DNSラウンドロビンは権限のあるサーバーまたは再帰サーバーで処理されますか?

  23. 23

    Node.js:サーバー側で画像ウィンドウを開く方法は?

  24. 24

    クロスブラウザウィンドウのポップアップタイトルとファイルを処理するためにAutoItスクリプトをパラメータ化する方法は?

  25. 25

    DataGridテーブルをウィンドウサイズに調整し、ウィンドウサイズ外のデータにスクロールバーを使用します-ScrollBarは表示されません

  26. 26

    Next.js + Babelを使用してグローバル(ウィンドウ)ナビゲーターをポリフィルまたはモックする方法は?

  27. 27

    ダウンロードしたファイル(オーディオ、ドキュメント)をmac os xサンドボックスアプリケーションのユーザーのダウンロードフォルダーに自動的に保存するにはどうすればよいですか?

  28. 28

    サファリとクロームの選択ボックス(ドロップダウンボックス)で高さまたはパディングを設定するにはどうすればよいですか?

  29. 29

    グループ化サイズの倍数ではないシーケンス上の値のスライディングウィンドウを処理するにはどうすればよいですか?

ホットタグ

アーカイブ