繁体   English   中英

动画滚动到带ID的div

[英]Animate scroll to a div with an ID

我知道之前可能已经提出这个问题,但我找不到合适的答案。

我想要一个链接,当你点击它时,将页面滚动到一个带有ID的元素,只需javascript,我就可以控制速度。

我知道:

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

那不起作用。 它只是突然进入视野。 我也尝试过scrollBy但由于它以增量方式工作,因此无效。 我可以把它写起来检查元素的剩余距离,如果它小于增量,那么只移动剩下的东西,但这看起来太笨重了。

我也尝试过scrollTo ,但这也没什么用。

这样做有更干净的方法吗?

这只需要javascript。 这是一个等价的jquery:

var top = target.offset().top;

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

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

您还可以检查jQuery源代码以了解它们是如何做到的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM