плавный переход к другой странице привязки - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть раздел планов на главной странице, и у меня появляются другие страницы, когда я нажимаю на планы (в верхней панели навигации), он плавно прокручивается на главной странице, но не работает на других отдельных страницах!

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *]] Всегда помешали;
$('header .navbar-nav > li > a, .services .arrow > .arrowDown').click(function () {
    $('html').animate({
        scrollTop: $('#' + $(this).data('value')).offset().top
    }, 500);
});

Я ожидаю, что когда я нажму на ссылку и окажусь на другой странице, она должна загрузить домашнюю страницу и перейти к разделу на моей домашней странице.

Я в основном новичок, и я мало что знаю, извините, если не могу лучше объяснить мою проблему.


Редактировать: Я пыталсядругой метод решения моей проблемы, однако, я сталкиваюсь с новым. Что я сделал, чтобы проверить, если текущая страница имеет идентификатор с конкретным значением? если да, тогда я сглаживаю прокрутку до этого раздела, иначе мне нужно перенаправить на домашнюю страницу и затем прокрутить этот конкретный раздел.

Мой новый код:

$('header .navbar-nav > li > a, .services .arrow > .arrowDown').click(function () {
  // check if $(this).data('value') exist in the current page
  if ($('#' + $(this).data('value')).length) {
    // smooth scroll to that element
    $('html').animate({
      scrollTop: $('#' + $(this).data('value')).offset().top
    }, 500);
  }
  // else load the homepage, then scroll to that element
  else { 
    document.location.href = "/";
    $('html').animate({
      scrollTop: $('#' + $(this).data('value')).offset().top
    }, 500);
    // console.log('this item doesn\'t exist in the current page')
  }
});

чем я являюсьожидается, что если текущая страница не является домашней страницей && и значение data-value не существует на текущей странице, то я должен перенаправить на (домашняя страница) и выполнить плавный переход к этому конкретному разделу.

Большое спасибо.

1 Ответ

0 голосов
/ 08 ноября 2019

Это моё собственное решение, и оно работает:

// == Smooth scroll to section == //
$('header .navbar-nav > li > a, .services .arrow > .arrowDown').click(function () {
    // check if $(this).data('value') exist in the current page
    if ($('#' + $(this).data('value')).length) {
        // smooth scroll to that element
        $('html').animate({
            scrollTop: $('#' + $(this).data('value')).offset().top
        }, 500);
    }
    // else load the homepage, then scroll to that element
    else { 
        document.location.href = "/kazamiza/" + '#' + $(this).data('value');
    }
});
...