Ciao, benvenuto,
ci sono diverse soluzioni, ognuna con pregi e difetti.
Questo è il modo più semplice, tutto in css, però il funzionamento dipende dalle impostazioni dei singoli browser dei navigatori:
codice:
<html>
<head>
<style type="text/css">
.pulsante:link, .pulsante:active {
width: 50px;
height: 20px;
background: url('img1.gif');
}
.pulsante:hover {
width: 50px;
height: 20px;
background: url('img2.gif');
}
.pulsante:visited {
width: 50px;
height: 20px;
background: url('img3.gif');
}
</style>
</head>
<body>
</body>
</html>
Quando dalla pagina in cui sono i pulsanti si va a visitare una sezione e poi si torna indietro il browser potrebbe essere impostato per richiedere nuovamente la pagina al server e in questo caso i link appariranno tutti "vergini" oppure potrebbe essere impostato per andare a prelevare la pagina in cache e allora il visited dovrebbe funzionare a dovere.
Potresti però risolvere aprendo le diverse sezioni del sito in dei target="_new". In questo modo la pagina con i pulsanti non viene scaricata/ricaricata ma resta sempre attiva e quindi il visited dovrebbe funzionare.
Un'altra soluzione è quella di memorizzare sul server l'informazione su quali pulsanti sono stati via, via, cliccati. E' sicuramente la soluzione migliore ma se sei all'inizio non è tanto facile. Prova a postare nelle sezioni php o asp a seconda del server su cui è ospitato il sito.
In javascript credo che l'unico modo sia di scrivere un cookie che tenga memoria dei pulsanti già cliccati ma anche questo è tutt'altro che facile.
Ciao