我有一个带有子菜单的简单导航菜单。当在同一页面上单击子菜单中的链接时,窗口会使用 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 调用的需要?请记住,每个子菜单链接对应一个不同的锚点。