使用JQuery .scroll()复制基于动量的滚动面板,该面板可以捕捉到元素

Rob*_*ght 5 css jquery scroll smooth

我正在尝试升级标准的可滚动div溢出:向我滚动一个更流畅的元素,一旦滚动完成,它将捕捉到元素.

我有一个关于如何做到但需要帮助的理论.

现代浏览器和操作系统,特别是Safari无论如何都在滚动中具有一定程度的动力.我想要做的是让它在滚动动画完成时识别,然后再滚动一点以捕捉到内部的元素li.

我希望它能够顺畅地滚动到它捕捉到的元素.目前,JQuery接缝的scroll()功能仅适用于实际用户滚动而不是任何可能跟随的动量.

iScroll在这方面表现相当不错,但它对我们的要求非常庞大和笨重,而不是向后兼容或兼容Internet Explorer.

任何想法我们如何实现这一目标.

奇妙

Pel*_*Roy 2

这实际上非常简单,可以使用 jQuery 来实现;您可以使用 jQuery 的 animate 函数来设置滚动动画 (scrollTop),并通过此插件http://james.padolsey.com/demos/jquery/easing/将缓动函数设置为 easeOutElastic 。

$('myButton').click(function() {
    $('myScroll').animate({scrollTop : XX},'easeOutElastic');
});
Run Code Online (Sandbox Code Playgroud)