Якоря Asp.net и обычные взгляды на навигацию не могут общаться - PullRequest
0 голосов
/ 21 ноября 2018

Возможно, не самый лучший заголовок, но я не знал, как его назвать.

Навигация содержит:

  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 / перед каждым якорем, то у меня нет плавной прокрутки страницы, она загружается каждый раз с начала.Вопрос в том, есть ли какое-нибудь решение, чтобы решить эту проблему: иметь привязки на навигационной и целевой страницах и другие виды?

Вот ссылка на сайт, поэтому, если вы меня не понимаете, вы можете попробоватьсамостоятельно.Кстати, не нажимайте на контакт, для этого пока нет представления, а сервисы - пустое представление, так что не путайте со стилем.https://test.cherrydevelop.com

PS Если у кого-то есть лучшее название для темы, милости просим!

...