npm包 branching-dialogue 使用教程

阅读时长 7 分钟读完

概述

branching-dialogue 是一个轻量级的前端库,它使得在网页中创建分支对话和决策树变得非常容易。该库支持自定义样式和动画,您还可以通过提供一个数据源来快速搭建您的决策树。本文将详细介绍如何使用该库搭建一个简单的分支对话,以及如何利用其使用自定义样式和动画。

安装

您可以使用npm来安装该库:

使用

基础用法

在使用该库创建分支对话之前,您需要先引入库,并在页面中创建一个容器。

然后您可以在Javascript代码中实例化BranchingDialog类,并提供一个数据源。

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

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

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

在这个例子中,我们提供了一个数据源来创建一个简单的决策树。该决策树开始于“你喜欢吃水果吗?”的问题,然后根据用户的回答进行分支。当你喜欢水果时,你将被要求选择你喜欢哪种水果,并继续往下进行。在这个例子中,我们只是在每个问答节点上提供了一些静态文本。下一节我们将详细讨论如何自定义这些节点。

最后,我们调用init方法来启动该分支对话,它将被嵌入到页面中的指定容器中。

自定义节点样式

默认情况下,该库提供了一些简单的CSS样式来呈现分支对话的节点,但是您可以使用提供的选项来自定义这些样式。

我们为BranchingDialog构造函数提供了两个选项:classPrefixstyleclassPrefix选项可以用来自定义该库使用的CSS类前缀。然后您可以使用自己的样式来覆盖这些默认的样式。例如,以下代码将更改“.node”类的背景色为蓝色。

您还可以使用style选项来直接覆盖某些节点的样式。该选项可以是一个JavaScript对象,其属性与节点ID匹配。例如,以下代码将更改“fuji”节点的背景色为红色。

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

自定义节点动画

该库支持使用CSS动画自定义节点的进入和退出效果。默认情况下,它使用了简单的淡入淡出效果。但是您可以使用animation选项来更改这些动画效果。该选项应该是一个JavaScript对象,其属性与动画名称匹配,值是一个CSS类名或JavaScript对象,它对应于该动画的animation-name CSS属性的值。例如,以下代码将更改“入场”动画为“bounceInDown”,退出动画为“bounceOutUp”。

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

您可以使用任何现有的CSS动画库来创建这些类名,例如:

  • animate.css
  • magic.css

您还可以使用纯JavaScript创建这些动画。例如,以下代码将更改“入场”动画为自定义JavaScript动画:

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

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

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

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

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

在这个例子中,我们将节点入场动画更改为自定义JavaScript函数fadeIn。该函数使用requestAnimationFrame提供的动画效果来将元素淡入。然后我们将节点退出动画更改为“bounceOutUp”。

总结

本文简要介绍了npm包branching-dialogue的基础用法,并讲述了如何使用自定义样式和动画来更改它的外观和动作。希望这篇文章对您对该库的了解有所帮助,并且有助于您快速开始创建自己的分支对话和决策树。如果您想深入了解该库的实现,请查看其源代码和文档。

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

纠错
反馈