网页上的平滑滚动

时间:2014-07-03 14:11:06

标签: javascript jquery html css twitter-bootstrap

目前在我的网站上(使用Bootstrap)当用户点击带有指向同一页面的链接的锚点时,我使用以下jquery使其滚动到链接,而不是跳转:

jQuery('html,body').animate({scrollTop: jQuery('#target').offset().top}, 1000);

它有效,但是,我看到一些使用动画的网站开始时速度较慢,然后在滚动时加速,最后几乎有一点反弹。它非常光滑/光滑。我正在寻找类似的东西。

任何人都知道通过链接动画滚动的其他方法吗?如果可能的话,我宁愿避免使用jquery插件。

由于

2 个答案:

答案 0 :(得分:1)

jQuery的默认缓动为swing,唯一的vanilla选项为linear

虽然你说你不想使用插件,但是简单的选择就是将jQueryUI简化包含在项目中。 It offers tons of options,如果swing不满足(或制作您自己的!),请查看宽松页面并选择您喜欢的页面。 jQueryUI的效果核心权重为13kb,

答案 1 :(得分:1)

为animate方法添加缓动

jQuery('html,body').animate({scrollTop: jQuery('#target').offset().top}, {duration: 1000, easing: 'easeOutBounce' });

*未测试

文档:http://api.jquery.com/animate/

此处的示例:http://www.learningjquery.com/2009/02/quick-tip-add-easing-to-your-animations/