Плавный скроллинг к якорю со слешем

177
12 декабря 2018, 01:50

У меня возникла следующая проблема: не могу настроить плавный скроллинг к якорю со слешем. У меня сайт состоит из двух страниц, три пункта меню находятся на одной странице, один пункт меню переводит на вторую. Слеш в данном случае нужен для того, чтобы я мог свободно перемещаться между страницами (всего их две), в особенности со второй на первою - без слеша это сделать не получается. Я написал следующий код, но он не срабатывает - в консоли тоже ничего не выдает:

$('a[href^="#"]').click(function () {
        elementClick = $(this).attr("href");
        elementClick = elementClick.substr(1);
        destination = jQuery(elementClick.split("/")[1]).offset().top;
        if($.browser.safari){
            $('body').animate( { scrollTop: destination }, 1100 );
        }else{
            $('html').animate( { scrollTop: destination }, 1100 );
        }
    return false;
    });

Реально ли вообще осуществить такое, или я просто трачу время? Заранее спасибо за ответы!

<nav class="navbar navbar-expand-lg navbar-light bg-light"> 
  <ul class="navbar-nav"> 
    <li class="nav-item"> 
      <a class="go_to" href="/#about-us">ABOUT US</a> 
    </li> 
    <li class="nav-item"> 
      <a class="go_to" href="/#about-course">COURSE</a> 
    </li> 
    <li class="nav-item"> 
      <a class="go_to" href="/#buy-a_course">BUY A COURSE</a> 
    </li> 
  </ul> 
</nav> 
<div class="about-us" id="about-us"> 
  blah blah blah 
</div> 
<div class="about-us" id="about-course"> 
  blah blah blah 
</div> 
<div class="about-us" id="buy-a_course"> 
  blah blah blah 
</div>

Answer 1

Тебе нужно отменить событие по умолчанию.

$('a[href^="#"]').click(function (e) {
    e.preventDefault()
    elementClick = $(this).attr("href");
    elementClick = elementClick.substr(1);
    destination = jQuery(elementClick.split("/")[1]).offset().top;
    if($.browser.safari){
        $('body').animate( { scrollTop: destination }, 1100 );
    }else{
        $('html').animate( { scrollTop: destination }, 1100 );
    }
return false;
});
READ ALSO
SVG градиент на внутренних страницах и тег BASE

SVG градиент на внутренних страницах и тег BASE

Есть svg градиент, который применяется на всех страницах сайта:

257
Верстка адаптивного меню

Верстка адаптивного меню

В данный момент верстаю адаптивное меню, и у меня возникла проблемаТо есть, мои ссылки белого цвета (когда страница в разрешении 980px), но когда...

181
c# как дать юзеру создавать класс

c# как дать юзеру создавать класс

есть базовый класс Storage от него наследуется Usb, Dvd, Hdd есть отдельный класс User он может создавать классы Usb, Dvd, Hdd и манипулировать с методами...

212
Какой использовать тип для работы с числами размером до 128 бит?

Какой использовать тип для работы с числами размером до 128 бит?

Мне нужен тип, который позволял бы работать с крупными числами (до 128 бит)Что-то типа BigInteger, но с плавающей точкой

216