UNPKG

lanternjs

Version:

Lightweight image lightbox library

2 lines 1.16 kB
/*! Lantern.js 0.2.0 | www.mattlean.com */ function Lantern(a,b){function c(a){a.addEventListener("click",function(b){0===b.button&&(g.src=a.getAttribute("href"),e.toggle(),b.preventDefault())})}function d(){var a=e.element.querySelector("button");e.element.addEventListener("click",function(b){(b.target===a||b.target===e.element)&&e.toggle()})}var e=this,f=document.querySelector("body");this.html='<div id="lantern"><img src="" alt=""><button>X</button></div>',f.insertAdjacentHTML("beforeend",this.html),void 0===a?this.element=document.getElementById("lantern"):this.element=a,this.showClass="lantern-show",void 0!==b&&void 0!==b.showClass&&(this.showClass=b.showClass);var g=this.element.querySelector("img");Object.defineProperty(Lantern.prototype,"toggle",{enumerable:!1,value:function(){this.element.className===this.showClass?(this.element.className="",f.style.overflow="initial",g.src=""):(this.element.className=this.showClass,f.style.overflow="hidden")}}),Object.defineProperty(Lantern.prototype,"modifyLinks",{enumerable:!1,value:function(){for(var a=document.querySelectorAll("[data-lantern]"),b=0;b<a.length;++b)c(a[b])}}),d(),this.modifyLinks()}