1.元素内部滚动
通过useRef获取元素信息,距离顶部的高度
const listRef = useRef();
//页面滚动到顶部
const pageScroll = () => {
console.log(listRef?.current?.scrollTop);
let timer = 0;
clearInterval(timer);
timer = setInterval(() => {
if (listRef?.current?.scrollTop != 0) {
listRef?.current?.scroll(0, Math.max(listRef?.current?.scrollTop - 50, 0));
} else {
clearInterval(timer);
}
}, 10);
};
return(
<div
style={{ width: '100%', height: ' calc(100% - 30px)', overflowY: 'scroll' }}
ref={listRef}>
{children}
</div>
)
2.windows滚动到顶部
let timer = 0;
clearInterval(timer);
timer = setInterval(function () {
if (window.pageYOffset != 0) {
window.scroll(0, Math.max(window.pageYOffset - 50, 0));
} else {
clearInterval(timer);
}
}, 10);
if (window.pageYOffset != 0) {
window.scroll(0, 0);
}
3.js操作滚动到顶部
//页面滚动到顶部
const pageScroll = () => {
var oDivs = document.getElementById('cardListWrap');
let timer = 0;
clearInterval(timer);
timer = setInterval(() => {
/* if (listRef?.current?.scrollTop != 0) {
listRef?.current?.scroll(0, 0);
} else {
clearInterval(timer);
} */
if (oDivs.scrollTop != 0) {
oDivs.scroll(0, Math.max(oDivs.scrollTop - 50, 0));
} else {
clearInterval(timer);
}
}, 10);
};
一步到位:xx.scroll(0,0)