首页 > 解决方案 > Asp.net 锚点和 nav 上的常规视图无法通信

问题描述

也许不是最好的标题,但我不知道如何命名。

导航包含:

  1. 我们是谁?
  2. 我们所做的?
  3. 我们的队伍
  4. 服务
  5. 接触

    <ul class="list-unstyled h-100">
    <li>
        <a href="#who-are-we">Ko smo mi?</a>
    </li>
    <li>
        <a href="#what-we-do">Čime se bavimo?</a>
    </li>
    <li>
        <a href="#our-team">Naš tim</a>
    </li>
    <li>
        <a href="/page/services">Usluge</a>
    </li>
    <li>
        <a href="/page/contact">Kontakt</a>
    </li>
    

数字 1、2 和 3 属于视图 About,如您所见,Services 和 Contact 是分离的视图。我有控制锚之间平滑滚动的jQuery代码

$('a[href^="#"]').on('click', function (event) {
    if (this.hash !== "") {
        event.preventDefault();

        var hash = this.hash;

        $('html, body').animate({
            scrollTop: $(hash).offset().top
        }, 600, function () {

            window.location.hash = hash;
        });
    }
});

在用户进入“服务”或“联系人”视图之前,一切正常。在那之后,他不能回到任何这个锚点,这很正常,因为链接没有指向控制器。如果我将 /page/about/ 放在每个锚点的前面,那么我在 about 页面中没有平滑滚动,它每次都从头开始加载。问题是,有什么解决方案可以解决这个问题,在导航和登陆页面以及其他视图中有锚点?

这是网站的链接,所以如果你不明白我的意思,你可以自己尝试。顺便说一句,不要点击联系人,还没有视图,服务是空视图,所以不要与样式混淆。 https://test.cherrydevelop.com

PS如果有人有更好的主题名称,欢迎您!

标签: asp.netnavigationanchorsmooth-scrolling

解决方案


推荐阅读