[Risolto] Body onLoad e Immagini Rollover

redmilion

Nuovo Utente
16 Feb 2005
29
0
0
Ciao, ho un problema con l'inserimento di immagini rollover sulla pagina del sito http://www.easyexpo.it/categoria.asp?idcat=28
Credo di aver fatto tutto il necessario ma due sono le ipotesi, o sbaglio qualcosa o essendo una pagina dinamica, ed io poco esperto in ASP, non funziona come se fosse una pagina statica in HTML.
Premetto che la pagina categoria.asp richiama contenuto da una pagina esterna retrieverPageCategories.asp.
Nella pagina categoria.asp ho messo lo script necessario prima della chiusura dell'HEAD e l'ONLOAD event nel <BODY> come segue

HTML:
<!-- Script per immagini ROLLOVER / Inizio -->
<script 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>
<!-- Script per immagini ROLLOVER / Fine -->

</head>

<body onLoad="javascript:pageContent('<%=idcategoria%>','posizioneCat','ASC'); MM_preloadImages('images/button_acquista2.png');">

Le due immagini del rollover sono images/button_acquista.png e images/button_acquista2.png

nella RetrieverPageCategories.asp ho inserito l'imagine con il codice che segue:

HTML:
<a href="carrello.asp?id=<%=Rs("idprodotto")%>" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Aggiungi al Carrello','','images/button_acquista2.png',1)"><img src="images/button_acquista.png" alt="Aggiungi al Carrello" name="Aggiungi al Carrello" border="0"></a>

Qualcuno sa dirmi dove sbaglio?
Grazie
 
Il tuo codice funziona, qual'è il problema di preciso?
Codice:
<body onLoad="javascript:pageContent('<%=idcategoria%>','posizioneCat','ASC'); MM_preloadImages('images/button_acquista2.png');">

<a href="carrello.asp?id=<%=idprodotto%>" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Aggiungi al Carrello','','images/button_acquista2.png',1)"><img src="http://forum.mrwebmaster.it/images/button_acquista.png" alt="Aggiungi al Carrello" name="Aggiungi al Carrello" width="150" height="26" border="0"></a>

..questo risultato: http://www.caprioli.info/fitness/script/hover.asp
 
Ultima modifica:
ciao Paolo,
grazie dell'interesse, il mio problema è che non mi funziona il rollover nella pagina delle categorie http://www.easyexpo.it/categoria.asp?idcat=28 mentre per esempio nella pagina del singolo prodotto funziona http://www.easyexpo.it/prodotti.asp?idprodotto=164.

...hai ragione, ho salvato in html la pagina categoria.asp ed il rollover non funzionava.
Ho rimosso il codice html posto dopo il primo pulsante... e come per magia funziona.

In pratica se il pulsante è solo uno il codice funziona se si ripete più volte nella stessa pagina non funziona più...
...se ho tempo in questi giorni ne cerco uno più funzionale.
 
prova cosi:

Codice:
<a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('[COLOR="#FF0000"]Image1[/COLOR]','','immagini/fuoco.gif',1)"><img src="immagini/fuoco_spento.gif" name="[COLOR="#FF0000"]Image1[/COLOR]" width="128" height="128" border="0" id="[COLOR="#FF0000"]Image1[/COLOR]" /></a><br />

<a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('[COLOR="#FF0000"]Image2[/COLOR]','','immagini/estintore.gif',1)"><img src="immagini/estintore_vuoto.gif" name="[COLOR="#FF0000"]Image2[/COLOR]" width="128" height="128" border="0" id="[COLOR="#FF0000"]Image2[/COLOR]" /></a><br />

Devi far si che il numeratore indicato in rosso cambi nel ciclo, usa per esempio Image<%=Id_record%>
Il restante codice va bene.
 
Rollover multipli ORA FUNZIONA

Ciao, ti scrivo solo adesso perchè ad una prima lettura non avevo capito quello che mi suggerivi di fare, ora ho ripreso in mano il tuo testo, ho rifletto e ci ho provato ed ora, finalmente, dopo alcuni tentativi, ci sono risucito! Ora i miei Rollover multipli funzionano. Ho, come dicevi tu, assegnato la variabile <%=Rs("idprodotto")%> dove da te indicato (tranne che nel NAME) e l'immagine cambia. Grazie mille!
 

Discussioni simili