Emergence.js检测元素可见性的js插件怎么用
小编给大家分享一下Emergence.js检测元素可见性的js插件怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Emergence.js 是一个轻量级,高性能的 JS 插件,用于检测和操作浏览器中的元素。
这个插件被设计为允许根据浏览器中的可见性对元素进行操作。它使开发人员可以自由使用自己的 CSS 或JS 来查看动画还是状态的改变。它利用 HTML5 数据属性而不是类来简化开发。Emergence.js 是同类型中最轻,最兼容的插件之一。
emergence.js 的特点
无需依赖其他组件
支持IE8 +和所有现代浏览器
压缩后只有1kb
安装
Emergence.js 的安装非常的简单。npm的安装方法如下:
npm install emergence.js
另外我们也可以直接下载它,在html文件中引入Emergence.js即可。
<script class="lazy" data-src="path/to/emergence.min.js"></script>
<script>
emergence.init();
</script>
如何使用
添加 data-emergence="hidden" 到您想要观看的任何元素:
< div class = “ element ” data-emergence = “ hidden ” > </ div >
当元素在视口内变得可见时,属性将变为 data-emergence="visible" 。现在,您可以利用CSS来动画元素:
.element [ data-emergence = hidden ] {
/ *隐藏状态* /
}
.element [ data-emergence = visible ] {
/ *可见状态* /
}
自定义选项
Emergence.js有许多选项可以自定义。下面是默认值:
emergence.init({
container: window,
reset: true,
handheld: true,
throttle: 250,
elemCushion: 0.15,
offsetTop: 0,
offsetRight: 0,
offsetBottom: 0,
offsetLeft: 0,
callback: function(element, state) {
if (state === 'visible') {
console.log('Element is visible.');
} else if (state === 'reset') {
console.log('Element is hidden with reset.');
} else if (state === 'noreset') {
console.log('Element is hidden with NO reset.');
}
}
});
选项说明
container:容器,默认情况下,元素的可见性将由窗口的视口尺寸和X / Y滚动位置(设置为window)确定。但是,可以将其更改为自定义容器。例如:
var customContainer = document.querySelector('.wrapper');
// www.xttblog.com
emergence.init({
container: customContainer
});
Throttle:是一种防止与滚动和调整事件大小相关的性能问题的方法。油门将创建一个小的超时,并在事件过程中每隔一定的毫秒量稳定地检查元素的可见性。默认是250。
reset:确定数据属性状态是否在显示后重置。false如果您希望元素即使在离开视口后仍保持其显示状态,请将其重置为。默认是true。
handheld:Emergence将为大多数手持设备型号(如手机和平板电脑)进行检查。设置false为时,插件将不会在这些设备上运行。默认是true。
elemCushion:元素坐标将决定在视口内需要多少元素才算“可见”。0.5的值将等于50%的元素需要可见。默认是0.15。
offsetTop, offsetRight, offsetBottom, offsetLeft:在视口的任何边上提供偏移量(以像素为单位)。如果您有一个固定的组件(例如标题),那么这非常有用,您可以为标题的高度偏移相同的值。100应用于的值offsetTop将意味着元素只有在距离视口顶部大于100像素时才会被视为可见。所有的默认值是0。
callback:用于提供回调来确定元素何时可见,隐藏和重置。可能的状态是visible,reset和noreset。
另外Emergence.js还提供了两个高级方法emergence.engage();和emergence.disengage();他们的作用刚好相反。
Emergence.js依赖于以下浏览器API:querySelectorAll
为了支持IE8,请确保标准模式。
以上是“Emergence.js检测元素可见性的js插件怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341