il comportamento che fa il tuo codice (che sarebbe JavaScript... non c'entra nulla col forum sul PHP in realtà...) è normale. Succede perchè all'interno del tag <a> hai messo: href=#

prova a fare qualcosa di simile:

codice:
<img ....>
mettendo un valore reale nel HREF e gestendo l'evento onclick del link, non dell'immagine (quest'ultimo caso è logicamente sbagliato visto che essendoci un link di mezzo, il click che "interviene" per primo è quello gestito dal tag <a>, non dall'immagine... tant'è che sotto firefox mi pare non funzioni il modo in cui ti l'hai fatto).