X-FULLPAGE

适用于移动端的全屏滚动插件,依赖 X-TOUCH,它可以帮助你简单快速创建高性能的移动端全屏滚动特效。 X-FULLPAGE 只能辅助你触发动画,使用 css动画库(推荐animate.css) 或自定义动画来实现翻页动画效果。

安装

  • 通过 npm or yarn 安装:
npm install x-fullpage x-touch animate.css --save

本教程默认使用 animate.css 作为动画库

引用

X-FULLPAGE 依赖于 X-TOUCH,请确保 X-TOUCH 优先 init:

// javascript
import XFullpage from 'x-fullpage';
import XTouch from 'x-touch';
import 'animate.css';

const xTouch = new XTouch();
const xFullpage = new XFullpage();

xTouch.init();
xFullpage.init();

本项目通过 rollup 使用 UMD 格式打包,支持 AMD、CommonJS、script 标签引入,下载源码

起步

  • 创建一个 id 为 root 的根节点。

使用 x-build-cli 创建时使用pug模版引擎,在 index.pug 中已经创建这个节点,跳过这步

  • #root 下创建多个 classx-page 的节点表示每一个页面,你可以把页面的内容写在里面。
<!-- html -->
<div id="root">
  <div class="x-page"></div>
  <div class="x-page"></div>
  <div class="x-page"></div>
</div>

动画参数

.x-page 中为元素添加动画:

<!-- html -->
<div class="x-page">
  <div animate="animate-name" 
      delay=1000
      duration=1000
  ></div>
</div>

animate

empty <String>

动画名:可参考 animate.css,或自定义动画类名。

delay

1000(ms) <Number>

延时:当页面滚动结束时开始计时。

duration

1000(ms) <Number>

动画持续时间。

实例参数

实例化XFullpage时,传入object配置参数:

  new XFullpage({
    // ...
  });

root

'root' <String>

当你的根节点 id 不想使用 '#root' 时改变这项。

pageClassName

'x-page' <String>

当你的页面节点不想使用.x-page时改变这项。

loop

false <boolean>

翻页循环,开启后,最后一页继续滑动会返回第一页,反之同理。

flex

true <boolean>

flex布局模式,内容将均处于屏幕的正中间。

duration

1000 <Number>

翻页的持续时间。

indicator

true <boolean>

指示器开关。

indicatorWidth

'20px' <String>

指示器圆点直径。

indicatorColor

rbga(255, 255, 255, .3) <color>

指示器默认颜色。

indicatorCurrentColor

rbga(255, 255, 255, .3) <color>

指示器焦点颜色。

beforeChange(index)

none <Function>

回调函数,页面开始滚动时触发。

  • index <Number> 页面索引 ( 0 ~ n )

afterChange(index)

none <Function>

回调函数,页面滚动结束时触发。

  • index <Number> 页面索引 ( 0 ~ n )

API

pageTo(index)

index <Number> 页面索引 ( 0 ~ n )

通过实例调用pageTo,可以跳转到指定页面:

// 两秒后跳转到第3页
setTimeout(() => {
  xFullpage.pageTo(2);
}, 2000);