Skip to content

Instantly share code, notes, and snippets.

@bhavyaw
Created March 21, 2016 12:55
Show Gist options
  • Save bhavyaw/2810779157b2790544cc to your computer and use it in GitHub Desktop.
Save bhavyaw/2810779157b2790544cc to your computer and use it in GitHub Desktop.
domHelperMain.js
/**
* Helper Utilities
*/
//single element DOM utils
var DOM_UTILS = {
hasClass : function(element,className){
if(this.isElementObj(element)) return !!element.className.match(new RegExp('(\\s|^)'+className+'(\\s|$)'));
},
addClass : function(element,newClass){
if(this.isElementObj(element)){
if(!this.hasClass(element,newClass)) element.className += " "+newClass;
}
},
removeClass : function(element,oldClass){
if(this.isElementObj(element)){
if(this.hasClass(element,oldClass)){
var reg = new RegExp('(\\s|^)'+oldClass+'(\\s|$)');
element.className=element.className.replace(reg,' ');
}
}
},
closest : function(element,testFunction){
if(this.isElementObj(element)){
while (element) {
if (testFunction(element)) return element;
element = element.parentNode;
}
}
},
hide : function(element){
if(this.isElementObj(element)){
element.style.display = 'none';
}
},
show : function(element,displayType){
if(this.isElementObj(element)){
element.style.display = displayType;
}
},
isHidden : function(element){
if(this.isElementObj(element)){
var style = window.getComputedStyle(element);
return (style.display === 'none');
}
},
animate : function(element,animationTypeClass,duration){
duration || (duration = 3000 );
if(this.isElementObj(element)){
var defaultAnimationClass = 'animated ';
var animationClass = defaultAnimationClass + ' ' + animationTypeClass;
DOM_UTILS.addClass(element,animationClass);
setTimeout(function(){
DOM_UTILS.removeClass(element,animationClass);
},duration);
}
},
isElementObj : function(element){
if(element && element.nodeType && element.nodeType === 1) return true;
else return false;
},
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment