将 Link 锚定到同一站点上的另一个页面

Anchor Link to another page on same site

我在网站上看了很多遍,但找不到问题所在。我需要 link 从图库页面到索引页面,但到该页面中的特定锚点。

我的索引headers

<!-- Container (About Section) -->
<div id="about" class="container-fluid">
</div>

<!-- Container (Services Section) -->
<div id="portfolio" class="container-fluid text-center">
</div>

然后是图库页面上的 link。

<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav navbar-right">
<li><a href="/index.html">ABOUT</a></li>
<li><a href="/gallery.html">GALLERY</a></li>
<li><a href="/index.html#portfolio">PORTFOLIO</a></li>
<li><a href="store/index.php">STORE</a></li>
<li><a href="/index.html#ordering">ORDERING</a></li>
<li><a href="/index.html#contact">CONTACT</a></li>

尝试使用反斜杠,或复制完整路径。不知道如何使用#。

查看您的站点,您已向 navbar 添加了一些侦听器,以便在您单击导航栏上的锚点到所选部分时进行滚动转换。这段代码。

$(document).ready(function(){
// Add smooth scrolling to all links in navbar + footer link
    $(".navbar a, footer a[href='#myPage']").on('click', function(event) {
    // Make sure this.hash has a value before overriding default behavior
    if (this.hash !== "") {
        // Prevent default anchor click behavior
        event.preventDefault();
        ....

在那里,您可以避免标准浏览器行为点击哈希值不同于 "" 的锚点,因此当您点击您的图库页面进入您的主页时,它可以避免重定向到您的主页。您应该修改此代码以检查目标页面是否与当前页面相同,或者您是否需要转到其他页面。

由于您的 javascript,您无法在您的页面中导航。 就目前而言,当您从另一个页面单击锚点 link 时,它会尝试获取不存在项目的偏移量。您可以将脚本更改为类似这样的内容以防止出现这种情况

$(".navbar a, footer a[href='#myPage']").on('click', function(event) {
    var hash = this.hash;
    if (hash == '' || $(hash).length == 0) return true;

    event.preventDefault();
    $('html, body').animate({
        scrollTop: $(hash).offset().top
    }, 900, function(){
        window.location.hash = hash;
    });
});