问题描述
我正在使用 fullpage.js 制作我的作品集,我想在每次滚动时到达下一个元素时添加一条路线。例如:当我打开页面时,我在该部分得到 <Home />
元素我想在滚动到第二个元素时放置路由器 /#home <About />
路由器 /#about 被放置,所以在,因为我这样做?
const Fullpagescroll = () =>{
return (
<>
<Header />
<ReactFullpage
scrollingSpeed = {1150}
navigation
render={() => {
return (
<>
<div className='section'>
<Home />
</div>
<div className='section'>
<About />
</div>
<div className='section'>
<Project />
</div>
<div className='section'>
<Contact />
</div>
</>
);
}}
/>
</>
);
}
示例
<Router>
<div className='section' >
<Route path='/#home'>
<Home />
</Route>
</div>
<div className='section'>
<Route path='/#about'>
<About />
</Route>
</div>
<div className='section'>
<Route path='/#project'>
<Project />
</Route>
</div>
<div className='section'>
<Route path='/#contact'>
<Contact />
</Route>
</div>
</Router>
解决方法
只需使用 the fullpage.js documentation 中详述的 anchors
选项:
锚点:(默认 []
)定义要在每个部分的 URL 上显示的锚点链接 (#example
)。锚点值应该是唯一的。数组中锚点的位置将定义锚点应用于哪些部分。 (第二部分的第二个位置,依此类推)。通过浏览器也可以使用锚向前和向后导航。此选项还允许用户为特定部分或幻灯片添加书签。当心!锚点不能与站点上的任何 ID 元素(或 IE 的 NAME 元素)具有相同的值。现在可以使用属性 data-anchor 直接在 HTML 结构中定义锚点,如下所述。
或者,您也可以在每个部分使用属性 data-anchor
。
您可以在 most of the examples online 上(例如 this one)以及 the ones provided on the github repository 上看到此类示例。