我正在制作一个非常规的网站,可以水平滚动很远的距离。我注意到 jQuery 的缓动函数在滚动距离的长度范围内被拉伸。它加速的持续时间似乎是它需要滚动的距离的固定比例。例如,它可能会在前 1/5 距离加速,在 3/5 以恒定速度滚动,然后在剩余的 1/5 减速。这使得长距离滚动时的加速度更加缓慢。无论需要滚动多远,有什么方法可以让它在固定的时间内加速?
如果有帮助,这是我的代码的一部分
$('tbody.travelTo a').click(function(){
$('html, body').animate({
scrollLeft: $( $.attr(this, 'href') ).offset().left - 1/2 * $(window).width() + 1/2 * $( $.attr(this, 'href') ).width()
}, $( $.attr(this, 'href') ).offset().left / travelRate, 'swing');
return false;
});