サブメニュー付きのシンプルなナビゲーション メニューがあります。サブメニューのリンクが同じページ上でクリックされると、ウィンドウは jQuery を使用してそれぞれのアンカーまでスクロールします。
サブメニュー リスト項目の例を次に示します。
<li><a href="page.html#some-anchor" onclick="clickScroll('#some-anchor');"><span>foo</span></a></li>
対応するアンカーは次のようになります。
<a class="hidden-anchor" id="some-anchor" name="some-anchor"></a>
JavaScript 関数:
function clickScroll(dest) {
$('html, body').stop().animate({
scrollTop: $(dest).offset().top
}, 1000);
}
すべて問題なく動作しますが、以前の多くの人と同じように、インライン イベント ハンドラは最近では悪い習慣であると読んでいます。
関数を変更して onclick 呼び出しを不要にするにはどうすればよいですか? 各サブメニュー リンクは異なるアンカーに対応していることに注意してください。