web-dev-qa-db-ja.com

Blazorの上部ナビゲーションリンクをクリックすると、ページの特定の部分にスクロールします

Blazorに既に読み込まれているページの単純な「ジャンプ」部分を作成するにはどうすればよいですか? HTMLでは次のようになります。

<a href="#contact">Contact us</a>
...
<section id="contact">

理想的には、このセクションまでスムーズにスクロールできるようにしたいです。私はこれをCSSで解決しようとすると思っていましたが、おそらく不可能ですか?

7
johajan

私はArron Hudonの回答を使用しましたが、それでも機能しませんでした。しかし、遊んでみたところ、アンカー要素<a id='star_wars'>Place to jump to</a>では機能しないことに気付きました。どうやらBlazorと他のspaフレームワークには、同じページでanchorsにジャンプする際の問題があります。これを回避するには、代わりに段落要素を使用する必要がありました(セクションも機能します):<p id='star_wars'>Some paragraph<p>

ブートストラップを使用した例:

<button class="btn btn-link" onclick="document.getElementById('star_wars').scrollIntoView({behavior:'smooth'})">Star Wars</button>

... lots of other text

<p id="star_wars">Star Wars is an American epic...</p>

ブートストラップのbtn-linkクラスを使用して、ボタンをハイパーリンクのように見せていることに注意してください。

0
goku_da_master