我正在使用一些来自www.css-tricks.com的代码,可用于为本地滚动页面锚点设置动画。以下是代码片段:jQuery:锚点滚动跳跃
$("class-name-here").on("click", function() {
var $target = $(this.hash);
$target = $target.length && $target
|| $('[name=' + this.hash.slice(1) +']');
if ($target.length) {
var targetOffset = $target.offset().top;
$('html,body')
.animate({scrollTop: targetOffset}, 1500, "easeOutQuint");
return false;
}
});
我一直利用各种时间的动画时间尝试过,但是当我点击链接时,页面不正确地滚动,但滚动到达目的地后,动画继续。 换句话说,它会滚动,但在动画似乎完成后,如果您尝试手动滚动,则页面会再次为该位置自动生成约半秒的动画。
这段代码有什么问题/有没有人看过这个?
尽量减少时间的动画。 1.5秒的时间太长,如果尝试从这里滚动出来时没有结束,则动画会尝试完成,因为您处于每个时刻的位置。所以尝试使用'animate({scrollTop:targetOffset},250,“easeOutQuint”);' –
尝试'slow'而不是1500.我认为slow是获得平滑动画的最佳数量。 – tR4xX