non puoi usare una sola classe? Tipo:
codice:
<style type="text/css">
#Title1.my{background-image:url(images/p_accesso_on.gif); width:470px; height:27px;}
#Title1.my_off{background-image:url(images/p_accesso_off.gif); }
#Title2.my{background-image:url(images/p_registrazione_on.gif); width:470px; height:27px;}
#Title2.my_off{background-image:url(images/p_registrazione_off.gif); }
</style>
<div id = "Title1" class="title my"> ... </div>
<div id = "Title2" class="title my"> ... </div>
Te lo consiglio per due motivi:
1. È sempre buona prassi usare gli ID per identificare UN elemento, e non le classi
2. È molto più comodo per il JS manipolare le classi
Infatti, usando questi script: http://snippets.dzone.com/posts/show/2630
Puoi aggiungere e togliere le classi agli elementi senza cancellare il tutto.
Per il ripristino, ti basta usare una variabile che contenga tutti gli elementi che contengono la class "title". Usando questa funzione ( http://robertnyman.com/2005/11/07/th...tsbyclassname/ ) puoi ottenere elementi per la class. Mettendo tutto assieme:
codice:
var AllTitles = null;
window.onload = function(){
AllTitles = getElementsByClassName(document, "div", "title"); //Tutti i div con class "title"
for(var i = 0; i < AllTitles.length; i++){
var elem = AllTitles[i];
elem.onclick = ClickFunct;
}
}
function ClickFunct(){
for(var i = 0; i < AllTitles.length; i++){
var elem = AllTitles[i];
RemoveClassName(elem, "my_off");
}
AddClassName(this, "my_off");
}
In questo modo, quando clicchi su di un elemento, rimuove la classe "my_off" da tutti i div con class "title", per poi rimetterla solo al div sul quale ho cliccato.