功能如下:
function Leaderboard() {
const [active, setActive] = useState();
const onToggle = (id) => {
setActive(id === active ? null : id);
setTimeout(() => {
scroller.scrollTo(id, {
smooth: true,
duration: 500,
spy: true,
exact: true,
offset: -15,
});
}, 600);
};
return (
<div
style={{
padding: 24,
minHeight: 200,
height: "90vh",
overflowY: "scroll",
}}
>
<Acc
title="Dolor eiusmod consectetur consequat magna nulla labore "
id="a1"
onToggle={onToggle}
active={"a1" === active}
/>
<Acc
title="Dolor eiusmod consectetur consequat magna nulla labore "
id="b2"
onToggle={onToggle}
active={"b2" === active}
/>
<Acc
title="Dolor eiusmod consectetur consequat magna nulla labore "
id="c3"
onToggle={onToggle}
active={"c3" === active}
/>
</div>
);
}
如果不使用 style={{ padding: 24, minHeight: 200, height: "90vh", overflowY: "scroll",}}
,smoothscroll 可以完美运行,但是当我放置它时它停止工作?有什么解决方法吗?
我不想让整个网站滚动……只有那个 div 组件。我不明白为什么在设置 height: "90vh"
时平滑滚动停止工作......它在没有限制的情况下工作。
我尝试将另一个 <div>
放在中间,但仍然没有运气。我认为它会理解高度限制的 div,类似于它解释浏览器限制的方式,但显然不是。
任何帮助都会非常有帮助!谢谢!