【发布时间】:2019-09-19 02:40:40
【问题描述】:
我在单页纸上创建了流畅的滚动导航。这似乎有效,但是在滚动结束时,我的页面奇怪地“跳跃”了。
http://ontop.houston-1.hybridmedia.be/
我的 jQuery 代码非常简单明了:
jQuery(function(){
$('a[href*="#"]').on('click', function (el) {
el.preventDefault();
$('html, body').animate({
scrollTop: $($(this).attr('href')).offset().top
}, 500, 'linear');
});
});
在 HTML 中:
<a href="#story">story</a>
<section id="story">
</section>
这里发生了什么?我已经尝试过其他一些脚本,但也遇到了同样的问题。
【问题讨论】:
-
它似乎与
hashchange事件有关,例如如果你点击Contact,等待URL变为#contact,滚动一点然后点击Contact再次,它不会跳转。我的猜测是您有一个与滚动冲突的 hashchange 事件 -
活动代码看起来像this。回调导致跳转,问题中的脚本应该可以正常工作。