【问题标题】:Smooth Scrolling with only vanilla JavaScript仅使用原生 JavaScript 实现平滑滚动
【发布时间】:2021-10-30 02:44:31
【问题描述】:

我一直使用这个 jQuery 脚本来平滑滚动:

var root = $('html, body');
$('a[href^="#"]').click(function() {
root.animate({
    scrollTop: $($.attr(this, 'href')).offset().top
}, 1000);
return false;
});

如何使用原生 JavaScript 做到这一点?我试过这个:

document.querySelector(this.getAttribute('href')).scrollIntoView({
    behavior: 'smooth'
});

但它不适用于 Safari,这对我来说是一个交易破坏者。

【问题讨论】:

    标签: javascript html smooth-scrolling


    【解决方案1】:

    正如您在docs 上看到的那样,safari 不支持scrollIntoView 上的选项参数,因此您需要找到另一种方法。我建议看看this alternative

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多