Ciao e benvenuto.
E' buona la soluzione proposta da Vincent ma aggiungo una piccola informazione.
Sarebbe meglio spostare quel return false alla fine dell'onclick per essere cross-browser.
Spiego molto sinteticamente. In sostanza il return false previene l'azione di default del link, che è quella di aprire la pagina riferita ad uno specifico indirizzo e che normalmente viene aperta mostrando l'inizio della pagina.
Ora, il tuo link è un'ancora interna con un hashtag fittizio (quell'href="#") il quale, non avendo riscontro nella pagina, comporta lo "spostamento" della pagina stessa in modo che sia mostrato l'inizio (cioè il problema che riscontri).
Ovviamente tu stai comunque aggirando il normale comportamento del link, aprendo invece la pagina attraverso JavaScript, ma l'azione di default resta tale.
Col return false impedisci questo comportamento lasciando però che JavaScript agisca per aprire una nuova finestra.
Di norma, però, in JavaScript il return provoca l'uscita immediata dalla funzione in cui è posto, impedendo di fatto l'esecuzione dello script che segue nel resto di tale funzione.
Questo non funziona su Chrome (forse perché è più tollerante o più intelligente, non so) ma in altri browser come Firefox e qualche versione di IE, otterrai un effetto nullo (cioè il link non funziona proprio), proprio perché il return (posto all'inizio) fa il suo dovere.
Per tale motivo consiglio di mettere, sì, il return false ma di inserirlo alla fine, in questo modo:
codice:
<a href="#" onClick="MM_openBrWindow('gallery/lavori_3d/gravel_dirt_render.html','','scrollbars=yes,resizable=yes,width=1024,height=768'); return false;"><img src="gallery/lavori_3d/gravel_dirt_render_thb.jpg" alt="" width="500" height="281"></a>
forse sarebbe ora di crearsi un sito dinamico
Quoto