vue-v-intersect
Version:
vue的自定义指令,作用域元素进入可视窗口时,用作图片懒加载或元素动态添加样式比如应用进入动画
1 lines • 2.02 kB
JavaScript
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["index"]=t():e["index"]=t()})("undefined"!==typeof self?self:this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fae3")}({fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"vIntersection",(function(){return i})),"undefined"!==typeof window){var r=window.document.currentScript,o=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);o&&(n.p=o[1])}const i={mounted(e,t){const n=t.modifiers,r=t.value,o=new IntersectionObserver(t=>{if(!(t[0].intersectionRatio<=0)){if(n.lazy){const t=e.getAttribute("datasrc");t?e.setAttribute("src",t):console.warn("%c你配置了图片懒加载修饰符但没有给出datasrc属性或值,这会造成问题","color: #90d7ec; font-size: 14px;")}if(n.class)if(r){let t=e.getAttribute("class");t?t+=" "+r:t=r,e.setAttribute("class",t)}else console.warn("%c你配置了动态类名修饰符但没有给出指令值,不能实现动态添加类名","color: #90d7ec; font-size: 16px;");null===o||void 0===o||o.unobserve(e)}});o.observe(e)}}}})}));