【问题标题】:Animate scroll to a div with an ID动画滚动到具有 ID 的 div
【发布时间】:2011-04-22 23:47:19
【问题描述】:

我知道以前可能有人问过这个问题,但我找不到正确的答案。

我正在尝试创建一个链接,当您单击它时,将页面滚动到具有 ID 的元素,仅使用 javascript,然后我可以控制速度。

我知道:

document.getElementById('youridhere').scrollIntoView();

那没有用。它刚刚映入眼帘。我也尝试过scrollBy,但这并没有奏效,因为它以增量方式工作。我可以写出来检查到元素的剩余距离,如果它小于增量,那么只移动剩下的,但这似乎太笨重了。

我也尝试了scrollTo,但这也无济于事。

有没有更清洁的方法?

这只能是 javascript。这是一个等效的 jquery:

var top = target.offset().top;

$('html,body').animate({scrollTop: top}, 1000);

【问题讨论】:

    标签: javascript html animation scroll


    【解决方案1】:

    没有平滑滚动的内置方法。我会在每次迭代中使用setIntervalscrollBy 一个增量,然后在完成后使用clearInterval

    您还可以查看 jQuery 源代码,看看他们是如何做到的。

    【讨论】:

      猜你喜欢
      • 2012-05-13
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-14
      • 2013-03-21
      相关资源
      最近更新 更多