Skip to content

Instantly share code, notes, and snippets.

@iantearle
Created November 1, 2021 16:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iantearle/1df919eb303154c95260e9f3d651af52 to your computer and use it in GitHub Desktop.
Save iantearle/1df919eb303154c95260e9f3d651af52 to your computer and use it in GitHub Desktop.
function $(elem) {
return document.querySelector(elem);
}
// let getElement = $('#element');
function hasClass(el, className) {
return el.classList ? el.classList.contains(className) : new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className);
}
// if(hasClass($('#element'), '.element'))
function addClass(el, className) {
if (el.classList) {
el.classList.add(className);
} else {
el.className += ' ' + className
}
}
function removeClass(el, className) {
if (el.classList) {
el.classList.remove(className);
} else {
el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
}
}
function $extendObj(_def, addons) {
if (typeof addons !== "undefined") {
for (var prop in _def) {
if (addons[prop] != undefined) {
_def[prop] = addons[prop];
}
}
}
}
function addListenerMulti(el, s, fn) {
s.split(' ').forEach(function(e) {
return el.addEventListener(e, fn, false);
});
}
// addListenerMulti('.element', 'mousedown touchstart', startSwipe)
function removeListenerMulti(el, s, fn) {
s.split(' ').forEach(function(e) {
return el.removeEventListener(e, fn, false);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment