Puoi farlo coi Javascript, ma è molto più semplcie usare i CSS:
metti un <div> in un <a>, al div asseni il background-image e lo cambi con l'hover dell'a.
Coi javascript devi indicare che all'evento onmouseover dell'elemento cambi il background con l'altra immagine, mentre all'evento onmouseout l'immagie torna quella di prima.
C'è un effetto molto carino da implementare con una libreria di effetti (uso mootools 1.11 in questa):
HTML
Codice PHP:
<div style="background-image: url(images/logo.gif); background-repeat: no-repeat; width: 140px; height: 84px; border: 1px solid black;" id="blenddiv">
[img]images/logo2.gif[/img]
</div>
Javascript
Codice PHP:
window.onload = function(){
$('blenddiv').addEvent('mouseenter', function(){
opacity('blendimage', 0, 100, 300);
});
$('blenddiv').addEvent('mouseleave', function(){
opacity('blendimage', 100, 0, 300);
});
}
Nel momento in cui apri la pagina, il div contiene un immagine con opacity 0 (trasparente), quindi si vede lo sfondo del div che è l'immagine iniziale. Al passaggio del mouse l'immagine compare con un effetto morbido.