目前在我的网站上(使用Bootstrap)当用户点击带有指向同一页面的链接的锚点时,我使用以下jquery使其滚动到链接,而不是跳转:
jQuery('html,body').animate({scrollTop: jQuery('#target').offset().top}, 1000);
它有效,但是,我看到一些使用动画的网站开始时速度较慢,然后在滚动时加速,最后几乎有一点反弹。它非常光滑/光滑。我正在寻找类似的东西。
任何人都知道通过链接动画滚动的其他方法吗?如果可能的话,我宁愿避免使用jquery插件。
由于
答案 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/