sid/js/lib/adjust.js

37 lines
1.3 KiB
JavaScript
Executable File

// on définit le "indexOf" pour <HTMLCollection> et <NodeList>
NodeList.prototype.indexOf = HTMLCollection.prototype.indexOf = function(searchedElement){
for( var i = 0 ; i < this.length ; i++ ) // on parcours la collection
// si on trouve l'élement, on retourne son rang
if( this[i] == searchedElement ) return i;
// si on a rien trouvé, on retourne -1
return -1;
};
/* GESTION DE L'AJOUT/SUPPRESSION D'UNE CLASSE */
function addClass(el, pClass){
if( el.className.length > 0 && el.className != pClass ) el.className = el.className + ' ' + pClass;
else el.className = pClass;
}
function remClass(el, pClass){
if( el.className.indexOf(pClass) > -1 ) // si la class de l'élement contient la classe à enlever
el.className = el.className.substr(0, el.className.indexOf(pClass)) + '' + el.className.substr(el.className.indexOf(pClass)+pClass.length);
}
/* ANIMATION DE BOUNCE PENDANT 1 SEC */
function makeBounce(buttonElement){
// ajout de la classe
remClass(buttonElement, 'loading');
addClass(buttonElement, 'bounce_error');
addClass(buttonElement, 'pamp');
// suppression de la classe après 1 sec
setTimeout(function(){
remClass(buttonElement, 'bounce_error');
remClass(buttonElement, 'pamp');
}, 1000);
}