React 如何实现平滑滚动?
来源:21-5 尝试写一个属于自己的 React 框架,ReMooc(三)
Doubles_Z3470738
2017-09-27
老师 请问有什么办法不借助与jQuery的animate, 使用类似ref的react的形式来实现平滑滚动?
目前做到的点击标签瞬间跳转到指定位置的方法如下:
1. scrollTo(0, 0)
2. <div id="pos">滚动到这里</div>
....
<a href="#pos">点我滚动</a>
3.function handleScroll() {
setTimeout(function() {
var top = window.document.scrollTop;
scrollTo(0, top - 50);
}, 100);
}
<a href="#pos" onClick="handleScroll()">点我滚动</a>
但是如何能够做到不是瞬间而是有类似缓冲动画的滚动到指定位置呢?
不知道我是表达的是否清楚, iOS类似的API是 - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
之前使用Vue的时候也遇到这个问题, 也没有很好的解决方法, 请老师指教.写回答
1回答
-
这种问题不需要自己造轮子啊,一搜索有一堆库的,https://www.npmjs.com/package/react-animate-on-scroll
012017-09-29
相似问题