non puoi usare una sola classe? Tipo:
Te lo consiglio per due motivi: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>
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:
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.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"); }

Rispondi quotando