Проблема в том, что когда я нажимаю на ссылку с хэштегом на той же странице, анимированная прокрутка не работает. Анимированная прокрутка работает только тогда, когда вы не на текущей странице.
URL выглядят примерно так:
- website.com / about # people,
- website.com / about # contact
Итак, предположим, что вы находитесь на странице "about" и должны были щелкнуть любую из этих ссылок, анимация прокрутки вниз не будет работать, но допустим, что вы находитесь на домашней странице и нажимаете на любую из этих ссылок, анимация работает.
К сожалению, я не могу воспроизвести эту проблему во фрагменте, но я использую тот же js
код Странно то, что в этом фрагменте анимация работает, даже если вы на одной странице. И нет, я не получаю никаких ошибок на консоли.
Спасибо!
$('nav a[href^="#"]').click(function(){
$('html, body').animate({
scrollTop: $(this.hash).offset().top
}, 400);
return false;
});
#topSection{
background: red;
height: 400px;
}
#middleSection{
background: blue;
height: 400px;
}
#lastSection{
background: black;
height: 400px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<nav>
<ul>
<li><a href="#topSection">Top Section</a></li>
<li><a href="#middleSection">Middle Section</a></li>
<li><a href="#lastSection">Last Section</a></li>
</ul>
</nav>
<div id="topSection">
</div>
<div id="middleSection">
</div>
<div id="lastSection">
</div>