React项目中使用fullpage.js实现整屏翻页

最近笔者在完成一个移动端小项目的过程中需要实现整屏翻页的效果;调研完毕之后,最终决定使用pullPage.js实现此功能。理由也很简单,fullPage.js使用起来比较方便,并且官网上也给了在react项目中使用的demo。本文记录了这个第三方库的使用过程。

1. 安装

bash 复制代码
yarn add fullpage.js

2. 项目中引入

js 复制代码
import fullpage from 'fullpage.js';
import 'fullpage.js/dist/fullpage.css';

3. 挂载

在dom加载完成之后,实例化fullpage

js 复制代码
  useEffect(() => {
    new fullpage('#fullpage', {
      credits: { enabled: false, label: '', position: 'right' },
      // fullpage.js的配置选项
      // 例如:sectionsColor, navigation等
    });
  }, []);

new fullpage的时候会自动去寻找id为fullpage的dom元素 ,因此一定保证根元素的id为fullpage,如下所示:

jsx 复制代码
    <div id="fullpage">
      <div className='section' style={{ boxSizing: 'border-box', height: window.innerHeight }}>
      ...
      </div>
    </div>

fullpage作用的对象是 ,而页使用section这个类名来表示,如上面的代码所示。

4. 修改

fullpage.js夹杂了一些私货,需要手动去除

css 复制代码
.fp-overflow {
  height: 100%;
}

.fp-watermark {
  display: none;
}

第一个消除的是垂直方向的居中,一般来说不需要;

第二个则是这个组件的商标,也需要去掉。

相关推荐
anOnion1 小时前
构建无障碍组件之Carousel Pattern
前端·html·交互设计
ssshooter1 小时前
Tauri 2 iOS 开发避坑指南:文件保存、Dialog 和 Documents 目录的那些坑
前端·后端·ios
Можно2 小时前
深入理解 ES6 Proxy:与 Object.defineProperty 的全面对比
前端·javascript·vue.js
Birdy_x2 小时前
接口自动化项目实战(1):requests请求封装
开发语言·前端·python
天天向上10243 小时前
vue el-table实现拖拽排序
前端·javascript·vue.js
西西学代码3 小时前
Flutter---回调函数
开发语言·javascript·flutter
卷帘依旧4 小时前
JavaScript 闭包经典问题:为什么输出 10 次 i=10
javascript
柳杉4 小时前
Three.js × Blender:从建模到 Web 3D 的完整工作流深度解析
前端·javascript·数据可视化
reembarkation5 小时前
vue3中使用howler播放音频列表
前端·vue.js·音视频
手握风云-5 小时前
基于 Java 的网页聊天室(三)
服务器·前端·数据库