-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlightquery.min.js
1 lines (1 loc) · 3.39 KB
/
lightquery.min.js
1
!function(t){"use strict";var e=function(t,e){return new n(t,e)},n=function(t,e){var n=e&&e.hasOwnProperty("querySelectorAll")?e:document,i=[];if("string"==typeof t)i=[].slice.apply(n.querySelectorAll(t));else if(t.nodeType&&(i=[t]),t instanceof NodeList&&(i=[].slice.apply(t)),t instanceof Array&&(i=t),!(i instanceof Array))throw new Error("Wrong selector! You must be use sting or HTMLElement");this.length=i.length;var r,s=this.length;for(r=0;s>r;r++)this[r]=i[r];return this};Object.defineProperties(n.prototype,{version:{value:"0.0.1",writable:!1},each:{value:function(t){if("function"==typeof t){var e,n=this.length;for(e=0;n>e;e++)e in this&&t.call(this[e],e,this[e]);return this}}},bind:{value:function(t,e,n){return this.each(function(i){i.addEventListener(t,e,n?!0:!1)})}},unbind:{value:function(t,e,n){return this.each(function(i){i.removeEventListener(t,e,n?!0:!1)})}},trigger:{value:function(t){this.each(function(e){if(!document.createEvent)throw new Error("Your browser don't support document.createEvent");var n=document.createEvent("Events");n.initEvent(t,!0,!1),e.dispatchEvent(n)})}},find:{value:function(t){var n=[];return this.each(function(){[].slice.apply(this.querySelectorAll(t)).forEach(function(t){n.push(t)})}),e(n)}},css:{value:function(e,n){return"string"==typeof e&&void 0===n?t.getComputedStyle(this[0],null).getPropertyValue(e):("object"!=typeof e&&(e[e]=n),this.each(function(){var t;for(t in e)e.hasOwnProperty(t)&&(this.style[t]=e[t])}))}},width:{value:function(t){return this.length?void 0===t?this[0].clientWidth:this.each(function(){var e=parseInt(t,10);this.style.width=e?e+"px":""}):[]}},height:{value:function(t){return this.length?void 0===t?this[0].clientHeight:this.each(function(){var e=parseInt(t,10);this.style.height=e?e+"px":""}):[]}},offset:{value:function(){if(!this.length)return[];var t=this[0].getBoundingClientRect();return{top:t.top,left:t.left,bottom:t.bottom,right:t.right}}},html:{value:function(t){return void 0===t?this[0].innerHTML:this.each(function(){this.innerHTML=t})}},append:{value:function(t){return this.each(function(e){"string"==typeof t?e.insertAdjacentHTML("beforeend",t):e.appendChild(t)})}},prepend:{value:function(t){return this.each(function(e){"string"==typeof t?e.insertAdjacentHTML("afterbegin",t):e.firstChild?e.insertBefore(t,e.firstChild):e.appendChild(t)})}},hasClass:{value:function(t){return this.each(function(){return this.classList.contains(t)?!0:void 0}),!1}},addClass:{value:function(t){if(/\s/.test(t))for(var e=t.split(" "),n=0;n<this.length;n++)for(var i=0;i<e.length;i++)this[n].classList.add(e[i]);else this.each(function(){this.classList.add(t)});return this}},removeClass:{value:function(t){if(/\s/.test(t))for(var e=t.split(" "),n=0;n<this.length;n++)for(var i=0;i<e.length;i++)this[n].classList.remove(e[i]);else this.each(function(){this.classList.remove(t)});return this}},toogleClass:{value:function(t){return this.each(function(){this.classList.toggle(t)})}},prev:{value:function(){var t=[];return this.each(function(e){e.previousElementSibling&&t.push(e.previousElementSibling)}),t.length?e(t):this}},next:{value:function(){var t=[];return this.each(function(e){e.nextElementSibling&&t.push(node.nextElementSibling)}),t.length?e(t):this}},first:{value:function(){return this.each(function(t){firstElement.push(t.firstElementChild)}),e(firstElement)}},last:{value:function(){var t=[];return this.each(function(e){t.push(e.lastElementChild)}),e(t)}}}),t.$=e}(window);