javascript - 使用脚本滚动到 href

标签 javascript jquery easing

我有这个代码。

$('a').click(function(){
    $('html, body').animate({
        scrollTop: $( $.attr(this, 'href') ).offset().top
    }, 500);
    return false;
});

如何使这个脚本具有超平滑的缓动效果?

最佳答案

在调用animate之前保存href属性,否则this的范围不正确。

$(function() {
  $('a').click(function() {
    var href = $(this).attr("href");
    $('html, body').animate({
      scrollTop: $(href).offset().top
    }, 500);
    return false;
  });
});
p {
  height: 2000px;
}
#inner {
  height: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#inner">Go to #inner</a>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
  in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<div id="inner">I'm the #inner element.</div>

关于javascript - 使用脚本滚动到 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27048945/

相关文章:

javascript - WordPress WooCommerce : Target successful add to cart action

javascript - 在 Resharper 中禁用 javascript 类型强制警告

javascript - 在 jQuery 中使用元素内容进行计算

javascript - jQuery 多次点击元素重载内容

javascript - 随着数字的增加,数字增量动画持续时间变慢

jquery - 动画 css 更改 (jQuery)

javascript - 在 Asp.Net Core 中使用 Ajax 上传文件

Javascript方法不会被执行

jquery - 章节标题之前的 anchor

javascript - 如何使用二次缓动函数获得 2 个数字的值范围?