Эта функция scrollTop выдает ошибку, когда я не наверху страницы и нажимает любую другую ссылку - PullRequest
0 голосов
/ 12 ноября 2018

Проблема :

У меня есть ссылки, которые выглядят так:

 <li><a href="#Cars">Bilar</a></li>
 <li><a href="#Contact">Kontakt</a></li>
 <li><a href="#AboutUs">Om oss</a></li>

в моем макете, и на моей странице индекса у меня есть div с теми идентификаторами, которые я хочу прокрутить при нажатии.

Первоначально это работает, то есть, когда я нажимаю в первый раз, если я нажимаю ту же ссылку снова, она переходит в начало, если я нажимаю на другую ссылку в навигационной панели, но не в верхней части страницы, она выдает ошибку и может прокрутить до любого div или, возможно, остаться, каждый клик отличается.

Как это могло случиться со мной ? Я сделал свои ошибки

$("a").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();

      // Store hash
      var hash = this.hash;

      // Using jQuery's animate() method to add smooth page scroll
      // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area
      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 800, function(){

        // Add hash (#) to URL when done scrolling (default click behavior)
        window.location.hash = hash;
      });
    } // End if
  });
...