npm 包 wookmark-node 使用教程

阅读时长 6 分钟读完

在很多网站中,瀑布流布局已经不再是新鲜事物了。它们往往被用来展示不同大小和类型的图片、视频和其他类型的媒体内容。wookmark-node 是一个 Node.js 模块,提供了一个快捷、轻量级的方式来创建瀑布流布局。

安装和使用

wookmark-node 可以在 Node.js 和浏览器端都可以使用。在 Node.js 中安装和使用该模块,只需要运行以下命令:

之后,在你的项目中引入该模块:

在浏览器端使用 Wookmark,需要在 HTML 文件中引入该模块:

它会初始化一个全局的 Wookmark 对象,可以在你的 JavaScript 代码中使用。

基本用法

wookmark-node 的主要功能是将元素按照瀑布流布局排列。假设你有一堆图片需要排列,如下:

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

可以使用以下代码,使用 wookmark-node 来排列图片:

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

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

这会产生以下效果:

配置参数

wookmark-node 的 Wookmark 构造函数接收一个配置对象。以下是该对象的主要选项:

  • container: 瀑布流布局所在的容器元素。
  • offset: 每个元素之间的水平和垂直间隙。
  • itemWidth: 每个元素的宽度。
  • flexibleWidth: 允许一行中的元素宽度不同。
  • align: 在一行中的元素右对齐、居中对齐还是左对齐。
  • resizeDelay: 智能重置延迟。
  • handleWidth: 询问每个元素是否应为一个独立项的回调函数。如果元素的宽度大于等于 handleWidth,它将被视为独立项。
  • ignoreInactiveItems: 启用/禁用对非活动项的计算。

这些选项可以用来调整布局效果。

事件

wookmark-node 允许注册一些事件来监听布局的变化。以下是所有可用事件的详细列表:

  • resize: 当窗口大小改变时触发。
  • refresh: 当布局被刷新时触发。
  • change: 当元素的大小或位置发生变化时触发。

在 Wookmark 实例上,可以使用以下代码注册这些事件:

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

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

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

示例代码

在下面的示例代码中,我们将使用 wookmark-node 来瀑布流布局若干张图片。这里我们使用了一个 jQuery 插件,用于加载图片:

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

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

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

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

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

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

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

在上面的例子中,我们首先使用了一个 jQuery 插件来加载图片,然后创建图片元素,使用 Wookmark 来布局这些元素。创建图片元素是一个异步过程,只有所有图片被加载完成后才能够触发布局。

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

纠错
反馈