Привязка ссылок на одних и тех же страницах для разных областей - PullRequest
0 голосов
/ 20 марта 2020

Я делаю якорные ссылки на другие страницы с плавной прокруткой, но у меня проблема. У меня есть 2 или более якорных ссылок в общем меню и областей на одной странице.

Существует без проблем при переходе с разных страниц для этих областей, но на той же странице, когда я нажимаю другие якорные ссылки для других областей на той же странице , нет эффекта прокрутки .. почему?

Как я могу систематически использовать href="#Welcome" и href="your_page_url#Welcome" вместе?

html меню всех страниц:

   <ul>
    <li><a>firstpage</a>
        <ul>
            <li><a href="firstpage.html#firstarea" class="ozel">firstarea</a></li>
            <li><a href="firstpage.html#secondarea" class="ozel">secondarea</a></li>
        </ul>
    </li>
    <li><a>secondpage</a>
        <ul>
            <li><a href="secondpage.html#thirdarea"  class="ozel">thirdarea</a></li>
            <li><a href="secondpage.html#fourtharea"  class="ozel">fourtharea</a></li>
        </ul>
     </li>
     <li><a href="normalpages.html">thirdpage</a></li>
   </ul>

одинаковые области страницы (первая страница. html):

<div id="firstarea">blablabla.......</div>
<div id="secondarea">blablabla.......</div>

и сценарий:

$(document).ready(function () {

 var speed = 1000;

 var hash = window.location.hash;
 if ($(hash).length) scrollToID(hash, speed);

  $('.ozel').click(function (e) {
     e.preventDefault();
     var id = $(this).attr('href');
     if ($(id).length) scrollToID(id, speed);
  });

});

function scrollToID(id, speed) {
  var offSet = 300;
  var obj = $(id).offset();
  var targetOffset = obj.top - offSet;
  $('html,body').animate({ scrollTop: targetOffset }, speed);
}
...