Snapscroll和height:100vh一起似乎导致了一个问题,即更改页面不会显示第一个元素,而是受到页面上一个位置或上一个页面位置的影响。由于我使用的是Sanity.js,“第一”页是未知的,并且使用通用的保持组件来加载所有部分,因此简单地添加“id='top'”是不可行的。
y4ekin9u1#
在我的...slug文件中,布局保存了我的sectionRenderer,我查询了“SECTIONCONTAINER”id,它有多个,但这只返回了第一个。然后,我对找到的元素使用了IIFE,以便在路线(slug)更改时滚动进入视图。希望这能帮助到一些人
useEffect(() => { setWhiteText(true); const myElement = document.getElementById('SECTIONCONTAINER'); //IIFE (() => { myElement.scrollIntoView({ behavior: 'auto' }); })(); }, [slug]);
1条答案
按热度按时间y4ekin9u1#
在我的...slug文件中,布局保存了我的sectionRenderer,我查询了“SECTIONCONTAINER”id,它有多个,但这只返回了第一个。然后,我对找到的元素使用了IIFE,以便在路线(slug)更改时滚动进入视图。
希望这能帮助到一些人