Aggiungere e togliere Classi CSS: toggleClassName
Scritto il 23 Aprile 2007
Nella categoria Javascript, Produzioni Proprie
Tag: css, html, Javascript, Vita sul web
Oggi ho scritto la funzione ToggleClassName perchè la userò in una nuova edizione di Travian Più Più. Serve per aggiungere e togliere una classe CSS ad un elemento, chiaramente se è già presente la toglie, altrimenti la aggiunge.
Io l’ho implementata con Element.prototype chiaramente può essere fatta anche come funzione esterna, con piccoli cambiamenti.
Element.prototype.toggleClassName = function(className) {
if ( (' '+this.className+' ').indexOf(' '+className+' ') > -1) {
var str = ' '+this.className+' ';
str = str.replace(new RegExp(' '+className));
str = str.substr(1).substr(0,str.length-2);
this.className = str;
return false;
} else {
this.className += ' '+className;
return true;
}
}
Il grosso problema che ho dovuto affrontare è nel separatore spazio delle classi, quindi il codice non risulta snellissimo, per quelli interessati si può raggruppare le prime 4 righe dopo il primo if in una unica, ma a me non piace tantissimo e poi diventa una riga troppo lunga per essere visualizzata qui :P
Ultima annotazione, la funzione restituisce true se aggiunge, falsese toglie.






Commenti
Scrivi un commento
Se vuoi.