Newsgroup: it.comp.lang.javascript
Titolo: rollover a tre livelli d'immagine

Ho bisogno una mano da chi mi può aiutare.
In un sito web devo mettere dei pulsanti, avrò una immagine per quando il
mouse non è sopra di esso, una per quando il mouse è sopra, e fin quì
tutto ok, ma poi al click una ulteriore immagine che nel breve tempo di
caricamento della nuova pagina dia l'impressione che il pulsante sia
premuto.
Con dreamweaver ho fatto i primi due (o meglio ha fatto lui) e mi ha messo
questo codice:
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0;
i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++)
x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array;
for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc)
x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
	<div id="div12" ><a href="photoshop.htm" onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image2','','images/clip_art/photoshop_over.gif',1)"><img
src="images/clip_art/photoshop_rip.gif" alt="galleria immagini elaboreate
con photoshop" name="Image2" width="90" height="30" border="0"></a></div>
il mio problema è aggiungere il terzo livello di "onClick", come fare????
non conoscendo Js ho provato ag aggiungere nel <div>
 onClick="MM_swapImage('Image2','','images/clip_art/photoshop_over.gif',1)">;
ma non funziona!!!!
come devo modificare questo codice, oppure potete indicarmene un'altro
funzionante???
grazie
ciao
augusto
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 questo codice:
[Oh dio mio on]
 è proprio di DreamWeaver usare il lanciafiamme se uno gli chiede da
accendere...
[Oh dio mio off]
boh, il problema è forse se uno sposta il mouse mentre carica così a
naso...uno scheletro:
<img onmouseover="this.src='tuaimmagineonmouseover.gif'"
onmouseout="this.src='tuaimmagineonmouseout.gif'"
onclick="'this.src=tuaimmagineonclick.gif'" ... />
Questo "mentre carica" chi lo esegue? Devi aggiungere window.location.href
all'onclick dell'img o la hai racchiusa in un anchor?
Se dà fastidio se uno sposta il mouse dopo aver premuto il click potresti
provare ad annullare le function, del tipo
<img ....
onclick="this.src='...';this.onmouseover=null;this.onmouseout=null" ... />
Infine potrebbe tornarti utile effettuare un preload delle immagini, se non
sono piccolissime. Per questo in rete trovi qualche fantastiliardo di
esempi, sarà del tipo
<script type="text/javascript">
window.onload=function() {
 img=new Image(); img.src="tuaimmagineonmouseover.gif";
 //idem per le altre
} </script>
Scritto tutto al volo ma più o meno...
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.