NPM 包 Universal-Observer 使用教程

Universal-Observer 是一个可以用于监听元素在视口中的可见性和位置变化的 JavaScript 库。它可以在 Web 和移动端应用中使用,并且非常轻量级。

安装

你可以使用 npm 来安装 Universal-Observer:

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

用法

在你的项目中引入 Universal-Observer:

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

创建一个实例

创建一个 UniversalObserver 实例,并传入一个回调函数:

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

监听一个元素

使用 observe 方法来监听一个元素:

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

可以对 Elements 内任何节点使用 Universal-Observer

Universal-Observer 可以用于添加到 HTML 文档中任何节点上以检测其可见性,只要你传递一个正确的节点到 observe 方法:

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

在回调函数中使用 intersectionObserverEntry

Callback 函数有两个参数: entriesobserver。在 entries 数组中,每个元素都是一个 IntersectionObserverEntry,它包含了被监听元素(target)的信息和他是否可见:

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

得到元素进入或者离开视口的百分比

每个 IntersectionObserverEntry 元素还包含一个 intersectionRatio(元素进入另一个元素的比例),他的值在 0.0 - 1.0 之间,0.0 表示元素完全不可见,1.0 则表示元素完全可见。可以将这个值作为临界比率使用:

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

禁用和启用观察器

如果你想禁用观察器,你可以调用 disconnect 方法:

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

如果你想重新启用观察器,可以调用 observe 方法重新绑定观察器:

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

结论

Universal-Observer 是一个非常有用的库,特别是在实现懒加载和元素动画的场景中。这个库非常易于使用,而且提供了丰富和深入的功能。如果你需要在你的项目中添加这种元素观察器,那么你一定需要给 Universal-Observer 一次尝试。

示例代码

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

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

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

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005533f81e8991b448d07e2


猜你喜欢

  • npm 包 class-chain 使用教程

    在开发前端应用过程中,我们经常需要处理 DOM 元素的样式,其中,使用 class 名称来切换样式是一个非常实用的方法。但是,当 class 名称过于复杂、嵌套、甚至几乎相同时,这个方法可能会变得很棘...

    2 年前
  • npm 包 light-ning 使用教程

    什么是 light-ning? light-ning 是一款基于 React 和 Redux 构建的轻量级组件库,提供了各种常用的 UI 组件,包括表单、布局、提示等等。

    2 年前
  • npm 包 pivoter 使用教程

    什么是 pivoter Pivoter 是一个用于前端数据透视的 npm 包,它可以快速地对数据进行聚合和分析,使得数据分析变得更加简单高效。 在 Pivoter 中,数据透视主要通过行透视、列透视和...

    2 年前
  • npm 包 reactator-build 使用教程

    在前端开发过程中,经常需要使用到各种工具和库来提高开发效率以及代码的质量。而 npm 是一款比较常用的包管理工具,其中就包含了大量的前端相关的工具和库。其中,reactator-build 就是一个非...

    2 年前
  • npm 包 rewrite-async 使用教程

    在前端开发任务中,url 重写是非常常见的一个需求。这个需求通常会出现在如下场景: 需要校验 url 中的参数并根据校验结果决定是否重定向; 根据不同的路由,渲染不同的组件; 系统更新后,特定 ur...

    2 年前
  • npm 包 asp-pw 使用教程

    在前端开发中,我们经常需要处理密码的相关操作。asp-pw 是一个能够帮助我们处理密码相关操作的 npm 包。在此篇文章中,我们将会对 asp-pw 进行详细的介绍,并带有一些示例代码。

    2 年前
  • npm 包 exif-normalizer 使用教程

    在前端开发中,处理图片是一个非常常见的需求。在这个过程中,我们经常需要获取图片的 EXIF 信息,如拍摄时间、拍摄地点、曝光时间等等。然而,由于不同设备拍摄的图片可能存在不同的 EXIF 标签,因此在...

    2 年前
  • npm 包 imlint-checklist 使用教程

    imlint-checklist 是一个基于 JavaScript 的 NPM 包,它可以帮助前端开发者轻松地检查项目中的图片、CSS、JS 文件是否符合最佳实践。

    2 年前
  • npm 包 chain-of-responsibility 使用教程

    在现代的前端开发中,为了实现更加模块化和灵活的代码设计,开发者经常使用到一种叫做“责任链模式”的设计模式。相应的,npm 社区也出现了许多 npm 包来帮助开发者实现该模式。

    2 年前
  • npm 包 gero 使用教程

    在前端开发中,使用各种 npm 包可以加快开发进度、提高代码质量。其中,gero 是一个非常实用的 npm 包。它是一个用于处理异步并发的库,能够极大地简化异步代码的编写。

    2 年前
  • npm 包 rewrite-module 使用教程

    前端开发过程中,经常面临着 URL 重写的需求,而 rewrite-module 就是一款优秀的 JavaScript 库,它提供了简单、灵活的 URL 重写方案。

    2 年前
  • npm 包 @vonagam/webpack-config 使用教程

    @vonagam/webpack-config 是一个基于 webpack 5 构建的配置文件,它提供了一组经过优化的 webpack 配置与插件,帮助我们快速构建一个高效且可维护的前端项目。

    2 年前
  • npm 包 chai-to-assert 使用教程

    在前端开发中,有许多的测试框架和工具可供使用,其中一种非常受欢迎的工具是 Chai.js。它是一个断言库,用于编写可读性高的测试代码。chai-to-assert 这个 npm 包是一个能将 Chai...

    2 年前
  • npm 包 activedirectory-alt 使用教程

    在前端开发中,经常需要与 Active Directory 进行交互,以实现用户认证、权限管理等功能。而 npm 包 activedirectory-alt 就是用来与 Active Director...

    2 年前
  • npm 包 heroku-nosleep 使用教程

    简介 Heroku 是一款流行的云平台,用于托管和部署 web 应用程序。然而,Heroku 默认的行为是在应用程序不活动时关闭它们。这是为了确保资源不被浪费,但是也意味着应用程序可能会在需要时变得不...

    2 年前
  • npm 包 kevoree-group-centralizedws-no-heartbeat 使用教程

    kevoree-group-centralizedws-no-heartbeat 是一个基于 kevoree 平台,使用 websocket 技术实现的分布式通信 npm 包。

    2 年前
  • npm 包 node-red-contrib-simplejs 使用教程

    Node-RED 是一个流程编程工具,使用 JavaScript 编写。node-red-contrib-simplejs 是一个基于 Node-RED 平台的 npm 包,它提供了一些简单的 Jav...

    2 年前
  • npm 包 pug-plugin-css-modules 使用教程

    在 Web 前端开发中,我们经常使用 Pug 模板语言来编写 HTML,同时使用 CSS Modules 来管理 CSS 样式。这两个工具能够给我们带来很多便利,但是在使用它们的过程中,我们需要反复地...

    2 年前
  • npm 包 toki-config-file 使用教程

    前言 在前端开发中,我们经常需要对项目的配置文件进行管理和修改。而 toki-config-file 就是一个可以帮我们轻松管理配置文件的 Node.js 模块。本文就为您详细介绍如何使用 toki-...

    2 年前
  • npm包trace-inline-parse使用教程

    前言 在前端开发中,我们经常需要处理代码的错误和异常信息。通常情况下,JavaScript会在控制台中输出错误信息,而这些信息通常是难以理解的。为了更好地排查问题,我们需要一种工具,能够帮助我们更好地...

    2 年前

相关推荐

    暂无文章