我正在使用一个名为 Rellax 的 React 库在我的网站上实现视差效果。 当我滚动到页面的该部分时,它工作得很好。但是,当我单击导航栏并导航到特定 #section 时,这个非常视差的图像漂浮在与它应该放置的位置完全不同的距离上。
我有一种感觉,这与元素的位置是如何计算的有关,因为我的页面结构没有单一的主体,而是一组反应组件。
其他视差库也出现了同样的问题。
现在我以这种方式指视差组件: (代码是缩写的,只显示我引用效果的部分(
export default function Advantages() {
useEffect(() => {
// init parallax
new Rellax('#parallaxImage', {
center: true,
});
});
return (
<section>
<img
id="parallaxImage"
className="w-100"
data-rellax-speed="2"
src={ traktor }
alt="tractor parallax" />
</section>
)}
你不应该只调用一次(通过添加方括号(吗?
useEffect(() => {
// init parallax
new Rellax('#parallaxImage', {
center: true,
});
}, []); // <-- Empty array