2017-09-09 22 views
0

たとえば、navbarには「German」というボタンがあり、ユーザーが「German」をクリックすると、「traditional German Foods」というh2にスクロールします。同じことですが、「フランス語」という名前のナビゲーションバーにボタンがある場合、ユーザーのページはさらに「伝統的なフランスの食品」というh2にスクロールします。私は約4ヶ月間コードを学習してきましたが、これを理解することができません。どんな助けも大歓迎です。ボタンをクリックしたときにNavbarがページをスクロールさせるにはどうすればよいですか?

+1

私たちにいくつかのマークアップと何を試してみたを表示します。ヒント:アンカーリンクとIDを使用します。 – Terry

+0

昔は、アンカータグとIDがデザインされたものです。だから、javscriptのスクロールを使うことができますが、単純なのであればアンカータグを作成すると言うだけです。 'German'として、あなたのページの後のdivで言うことになります。 '

content
' – Keith

答えて

-1

あなたはタグでアンカーを実行してからすぐにスクロールし、JavaScriptを使用して改善することができます。

<a href="index.php#german">German</a> 


<div id=#german></div> 
+1

あなたのマークアップはちょっと混乱しています。 'href =#german'とあなたの' id = "german" '..でなければなりません。 – Keith

0

それは#ハッシュを使用している行うための簡単な方法、あなたは<h2 id="german">German</h2>のようなあなたのH2にIDを入れて、ヘッダから、あなたのリンクは次のようなものでなければなりません:

<a href="#german">Jump to German</a> 

さらなる情報https://www.w3schools.com/html/html_links.asp

0
<a href="#german">German</a> 

<h2 id="german">Traditional German Foods</h2> 
+0

コードのみの回答は、どのように問題を解決するか説明していないので、質問に。このコードの機能と使い方を説明するために、回答を更新する必要があります。 [よくある回答を書くにはどうすればいいですか](https://stackoverflow.com/help/how-to-answer) – FluffyKitten

1

その他の回答には、IDとアンカータグを使用できます。しかしそれは即座にスクロールする。スクロールを簡単にアニメーション化するには、scrollIntoViewメソッドを使用できます。

Scroll Behavior specificationネイティブスムーズスクロールに にオプトインする開発者を可能にするために、ウィンドウ・インターフェースの 拡張として導入されています。これまでのところ、これはFirefoxの にのみ実装されています。

他のブラウザにはpolyfillがあります。

element.scrollIntoView({動作: 'スムーズ'})

document 
    .querySelector('YOUR_TRIGGER_HERE') 
    .addEventListener('click', event => { 
    document 
    .querySelector('YOUR_DESTINATION_HERE') 
    .scrollIntoView({behavior: 'smooth'}) 
    }) 
関連する問題