npm 包 scrollytelling 使用教程

阅读时长 5 分钟读完

本文将介绍一种用于创建滚动故事(Scrollytelling)的 NPM 包,该包名为 Scrollytelling。这个 NPM 包主要用来创建交互式故事页面,比如像下雪的时候展示雪天里的种种。Scrollytelling 允许开发者根据页面滚动位置的变化触发不同的动画与效果,让用户可以逐步展示故事情节,吸引用户的眼球。以下将详细介绍 Scrollytelling 的使用方法。

安装 Scrollytelling

在安装 Scrollytelling 前,需要先安装 Node.js ,Node.js 是一种开源的服务器端运行环境,提供了 JavaScript 的解释执行环境。通过 Node.js,我们可以在后端使用 JavaScript,开发服务器端应用程序。具体安装方法详见官网 Node.js。安装完成之后,在终端运行下面命令即可轻松安装 Scrollytelling:

Scrollytelling 还需要依赖一个名为 GSAP 的 JavaScript 动画库,同样我们使用 NPM 安装:

Scrollytelling 的基础用法

首先,需要在你的 HTML 页面中添加一个相应的容器组件:

然后在 JavaScript 中启用 Scrollytelling

现在可以在 HTML 中设定故事版面的细节,用一些属性设定动画和过渡效果,如下所示:

这里,data-step 属性设定了当前区块在 Scrollytelling 时间轴上的位置,这样 Scrollytelling 就能在用户滚动到不同位置时,依次激活/反激活各个 section,使它们按顺序表现出来。data-opacity 属性是为 panel 容器对象设定的大小和透明度参数。

在 Scrollytelling 启用后,需要依次设置各个 section 的动画效果,可以使用 Scrollytelling 提供的 addScene() 方法来实现:

-- -------------------- ---- -------
----------------------
  --------- --
  -------- -
    ------ ---- -----
    ---- ------- -----
  --
  ------ -
    -------- -
      ------ --
      ---- --
    --
  --
---

这里的 addScene 中,duration 参数意味着当前 tween(限制时间)在多少秒内完成。trigger 参数和 tween 参数都非常重要,前者指定 Scrollytelling 触发位置,而 Tween 则提供动画具体效果。上面的代码就是当当前 panel 区块的滚动位置在距离容器 div 的顶部 10% 的时候,开始触发一个状态改变,左半透明显示,右半透明消失。

Scrollytelling 进阶用法

除了基础用法外,Scrollytelling 也还有许多更加高级的用法,例如 creating a left and right responsive panel layout(创建左右相对布局的故事页面) 组件,实现吸引人又实用的 Scrollytelling 效果。示例代码如下:

-- -------------------- ---- -------
------ ----------- ---- -----------------

----- --------- - ----------------------------------
----- ----------- - --- -----------------------

----------------------
  ------ -----------------
  ------ ------ -------
  ----- -------- ------ ----------
---
----------------------
  ------ -----------------
  ------ ------- -------
  ----- -------- ----- ------ ----------
  ----------- ----------
---

这里 addPanel 方法允许我们添加一个具有左右布局的区块,image 为左侧图片,title 和 text 则是右侧上方的文本信息,而 background 为整个 panel 区域的背景色。

以上就是 Scrollytelling 的使用技巧与方法,借助 Scrollytelling 和 GSAP,可以让开发者简单快捷地创建出动态的滚动故事页面,增添前端页面设计的乐趣,让用户体验更上一层楼。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562da81e8991b448e03d2

纠错
反馈