所以现在我有一个允许锚定的脚本,但它只适用于我当前所在的页面。
$('.menu a').click(function(){
var question = this.innerHTML;
var answer = $.find('dt:contains(' + question + ')');
$('html, body').animate({
scrollTop: $(answer).offset().top
}, 200);
return false;
});
<div class="menu">
<div>
<h3 class="heading"><a href="/about">About</a> <span class="expand">+</span></h3>
<ul class="subheader">
<li><a href="/about">How Can You Help?</a></li>
<li><a href="/about">How can I submit a show?</a></li>
<li><a href="/about">Who are we?</a></li>
</ul>
</div>
<div>
<h3 class="heading"><a id="contact" href="contact">Contact</a> <span class="expand">+</span></h3>
<ul class="subheader">
<li><a href="contact">Email</a></li>
<li><a href="contact">On Site</a></li>
<li><a href="contact">Social Media</a></li>
</ul>
</div>
</div>
我想弄清楚的是如何更改我当前的脚本,以便我可以将自己定位到下一页上的正确位置。
例如,我目前在我的关于页面上,但我点击了菜单中的“电子邮件”。我想要发生的是页面将自己重定向到联系人页面,他们的锚点本身就是电子邮件所在的位置。现在,它只是把我放在页面的顶部。
我试图不使用多个 id 来执行此操作,因为这些不是我唯一的页面,所以拥有超过 30 个 id 只是为了让它工作不是最好的主意。我想这是我最后的手段。