NPM 包 Caroufredsel 使用教程

阅读时长 11 分钟读完

Caroufredsel 是一个轻量级的 jQuery 插件,可以帮助我们快速地创建滑动和旋转的轮播。“Caroufredsel” 由 Carousel(旋转木马)和 Fred(一个人名)组成。

本文将介绍如何在你的前端项目中使用 Caroufredsel。 我们将从安装开始,详细解释 Caroufredsel 的各种选项和配置,最后给出一个完整的演示示例。

安装

Caroufredsel 可以通过 NPM 安装,使用以下命令即可:

安装完毕后,我们可以在项目中引入它:

基本使用

让我们从最简单的开始:创建一个轮播。假设我们有一个图片列表,我们想用 Caroufredsel 来创建一个可循环、自动旋转的轮播。

HTML

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

CSS

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

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

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

JavaScript

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

我们使用 jQuery 选择器选择出目标元素 ul,然后使用 carouFredSel 函数将其转化为一个 Caroufredsel 轮播。函数接受一个配置对象,通过这些配置我们可以控制轮播的各种属性。接下来我们将详细讲解每个属性的含义。

配置

下面是一份完整的配置列表供参考:

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

接下来我们将详细讲解每个属性的作用。

responsive

类型: boolean 默认值: false

如果设置为 true,Caroufredsel 将能够自动响应浏览器窗口调整大小的变化。

width

类型: string/number/null 默认值: null

设置容器的宽度。

height

类型: string/number/null 默认值: null

设置容器的高度。

items.start

类型: number 默认值: null

设置轮播的起始项。

items.visible

类型: number 默认值: null

设置每个轮播包含的可见项。

items.minimum

类型: number 默认值: 1

设置最小可见项数量。

items.width

类型: string/number/null 默认值: null

设置单个项的宽度。

items.height

类型: string/number/null 默认值: null

设置单个项的高度。

items.dimension

类型: string 默认值: null

设置项的尺寸,可以是 "height" 或 "width",Caroufredsel 将根据此设置计算出其他的项宽度或高度。

以上几个参数共同控制了每张图片的尺寸、数量、排列方式等。通过配置这些参数,我们可以实现各种不同的轮播效果。

scroll.easing

类型: string/null 默认值: null

设置轮播过程中的缓动效果。如果不设置,则使用默认的 linear 缓动。

scroll.duration

类型: number 默认值: 500

设置每次滑动的耗时。

scroll.pauseOnHover

类型: boolean 默认值: false

当鼠标悬停在轮播上时是否暂停滑动。

scroll.mousewheel

类型: boolean 默认值: false

是否开启滚轮滚动控制。

scroll.swipe

类型: object 默认值: {}

可以通过此属性配置触摸设备上的滑动选项。可以参考 jQuery TouchSwipe Plugin 以获取更多细节。

scroll.fx

类型: string 默认值: "scroll"

设置 Caroufredsel 的滚动效果,可以选择 scroll、fade、crossfade、cover、uncover 等效果。

scroll.onBefore

类型: function 默认值: $.noop

轮播滑动之前执行的回调函数。

scroll.onAfter

类型: function 默认值: $.noop

轮播滑动之后执行的回调函数。

direction

类型: string 默认值: "left"

设置轮播滑动的方向,可以是 left、right、up、down 等。direction 还可以是包含多个方向的字符串,比如 "up, right",可以实现复杂的斜向滑动等效果。

circular

类型: boolean 默认值: true

是否启用循环滑动。

infinite

类型: boolean 默认值: false

是否启用无限循环滑动,即可以继续往原方向滑动,比如从最后一张图片又跳到了第一张。

align

类型: string/null 默认值: null

设置轮播的对齐方式,可以是 left、center、right。

padding

类型: number/null 默认值: null

对齐时的边距。

auto.play

类型: boolean 默认值: false

是否自动播放轮播。

auto.timeoutDuration

类型: number 默认值: 4000

轮播切换的时间间隔。

prev.button

类型: string/null 默认值: null

让用户可以通过一个链接、按钮或其他元素来控制轮播滑动到上一项。

prev.key

类型: string/null 默认值: null

让用户可以使用键盘上的按键来控制轮播滑动到上一项。

next.button

类型: string/null 默认值: null

让用户可以通过一个链接、按钮或其他元素来控制轮播滑动到下一项。

next.key

类型: string/null 默认值: null

让用户可以使用键盘上的按键来控制轮播滑动到下一项。

pagination.container

类型: string/null 默认值: null

往轮播中添加分页器。

pagination.keys

类型: boolean/null 默认值: null

是否使用键盘来控制分页器。

pagination.anchorBuilder

类型: function 默认值: $.noop

生成每个分页器元素链接的函数。

pagination.event

类型: string 默认值: "click"

分页器元素绑定的事件名称。

pagination.pauseOnHover

类型: boolean 默认值: false

当鼠标悬停在分页器元素上时是否暂停轮播滑动。

swipe.onTouch

类型: boolean 默认值: true

在触摸设备上使用触摸事件控制滑动。

swipe.onMouse

类型: boolean 默认值: false

在 PC 设备上使用鼠标事件控制滑动。

swipe.options

类型: object 默认值: {}

在触摸设备上用来配置 TouchSwipe 的选项。

演示

下面是一个完整的演示,当你点击运行按钮后,就可以在下面看到 Caroufredsel 的实际效果了。

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

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

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

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

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

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

上面这段代码会创建一个包含 5 张图片的、可无限循环旋转的轮播,每张图片之间有 4 秒的切换时间。

总结

本文介绍了如何在前端项目中使用 Caroufredsel,详解了其各种配置选项,最后还给出了一个实际演示的示例。Caroufredsel 为我们创建轮播效果提供了强大而易用的工具,如果你要制作一个漂亮的图片轮播,它是一个绝佳的选择。

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

纠错
反馈