forked from FrontendMatter/fix-footer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfix-footer.js
More file actions
1 lines (1 loc) · 1.58 KB
/
Copy pathfix-footer.js
File metadata and controls
1 lines (1 loc) · 1.58 KB
1
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("dom-factory")):"function"==typeof define&&define.amd?define(["dom-factory"],t):"object"==typeof exports?exports.fixFooter=t(require("dom-factory")):e.fixFooter=t(e.domFactory)}(this,function(e){return function(e){function t(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return e[o].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.footerComponent=void 0,i(1);var o=i(2),n=t.footerComponent=function(e){return{element:e,_reset:function(){this.element.style.opacity=1;var e=this.element.offsetTop,t=this.element.offsetHeight,i=e+t,o="fixed"===window.getComputedStyle(this.element).position,n=o&&e<document.documentElement.offsetHeight;this.element.classList[i<=window.innerHeight&&!n?"add":"remove"]("fix-footer--fixed")},_debounceResize:function(){clearTimeout(this._debounceResizeTimer),this._debounceResizeTimer=setTimeout(function(){this._resizeHeight!==window.innerHeight&&(this._resizeHeight=window.innerHeight,this._reset())}.bind(this),50)},init:function(){this._debounceResize=this._debounceResize.bind(this),window.addEventListener("load",function(){this._reset(),this._resizeHeight=window.innerHeight,window.addEventListener("resize",this._debounceResize)}.bind(this))},destroy:function(){clearTimeout(this._debounceResizeTimer),window.removeEventListener("resize",this._debounceResize)}}};o.handler.register("fix-footer",n)},function(e,t){},function(t,i){t.exports=e}])});