emergence.js 教程

Emergence.js是一个轻量级,高性能的JS插件,用于检测和http://www.anbomei.com/f8ae/0ce05f6f2ff8.html操作浏览器中的元素。本文介绍它的用法。 介绍 Emergence.js 之前,我在github上搜索了一下,它很受用户欢迎,推出没多久就受到了广泛的关注。特别是 JavaScript 项目在 github 上占据有一定的优势。 http://www.anbomei.com/d918/2eab857b7f9f.html emergence.js 的特点 无需依赖其他组件 支持IE8 +和所有现代浏览器 压缩后只有1kb 这个插件被设计为允许根据浏览器中的可见性对元素进行操作。它使开发人员可以自由使用自己的CSS或JS来确定发生了什么; 无论是动画还是改变状态。它利用HTML5数据属性而不是类来简化和开发人员的清晰度。Emergence.js是同类中最轻,最兼容的插件之一。 安装 http://www.anbomei.com/f7ce/dc54e7bbd6ec.htmlEmergence.js 的安装非常的简单。npm的安装方法如下: npm install emergence.js 另外我们也可以直接下载它,在html文件中引入Emergence.js即可。 <script src="path/to/emergence.min.js"></script> <script> emergence.inhttp://www.anbomei.com/c2a8/8bea8b27c96d.htmlit(); </script> 基本用法 它的用法很简单,给需要操作的元素加上data-emergence="hidden"属性即可。 <div class="element" data-emergence="hhttp://www.anbomei.com/7911/b8ddfaad81bc.htmlidden"></div> 当元素在视口内变得可见时,属性将变为data-emergence="visible"。 我们还可以使用css的动画来激活元素。 .element[data-emergence=hidden] { /* Hhttp://www.anbomei.com/d270/e13515cbf2cc.htmlidden state */ } .element[data-emergence=visible] { /* Visible state */ } 自定义选项 Emergence.js有许多选项可以自定义。下面是默认值: emergence.http://www.anbomei.com/778b/3539ba9e8a1c.htmlinit({ container: window, reset: true, handheld: true, thttp://www.anbomei.com/6b3b/80d367ec405b.htmlhrottle: 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:是一种防止与滚动和调整事件大小相关的性能问题的方法。油门将创建一个小的超时,并在事件过程中每隔一定的毫秒量稳定地检http://www.anbomei.com/98a5/bca794b59a78.html查元素的可见性。默认是250。 reset:确定数据属性状态是否在显示后重置。false如果您希望元素即使在离开视口后仍保持其显示状态,请将其重置为。默认是true。 handheld:Emergence将为大多数手持设备型号(如手机和平板电脑)进行检查。设置false为时,插件将不会在这些设备上运行。默认是true。 elemCushion:元素坐标将决定在视口内需要多少元素才算“可见”。0.5的值将等于50%的元素需要可见。默认是0.15。 offshttp://www.anbomei.com/b938/3eb1ad171e97.htmletTop, offsetRight, offsetBottom, offsetLeft:在视口的任何边上提供偏移量(以像素为单位)。如果您有一个固定的组件(例如标题),那么这非常有用,您可以为标题的高度偏移相同的值。100应用于的值offsetTop将意味着元素只有在距离视口顶部大于100像素时才会被视为可见。所有的默认值是0。 callback:用于提供回调来确定元素何时可见,隐藏和重置。可能的状态是visible,reset和noreset。 另外Emergence.js还提供了两个高级方法emergence.engage();和emergence.disengage();他们的作用刚好相反。 Emergence.js依赖于以下浏览器API: querySelectorAll 为了支持IE8,请确保标准模式。 最后,欢迎关注我的个人微信公众号:业余草(yyucao)!