所以现在我有一个允许锚定的脚本,但它只适用于我当前所在的页面。
    $('.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 只是为了让它工作不是最好的主意。我想这是我最后的手段。