Ciao a tutti, premetto che so poco e niente di javascript.. Nella rete ho trovato uno script in java che permette di cambiare skin al pulsante una volta che ci si passa sopra con il mouse, Ecco come dovrebbe essere:

Tasto non selezionato



Tasto selezionato



Codice nella pagina default.asp

Codice PHP:
<script type="text/javascript" src="common.js"></script>
<body onload="add_handlers('nav_button');">
<dt class="titolo">Notebook Dell</dt>
<dd class="immagine">[img]immagini/portatile.png[/img]</dd>
<dd class="descrizione">[url="#"]Notebook Dell processore Intel Core Duo 2, hard disk 250GB[/url]</dd>
<dd class="prezzo">899€</dd>
<dd class="pulsante">[url="#"][img]immagini/nav_button.png[/img][/url]</dd>
</dl>
<dt class="titolo">Sony Bravia 50''</dt>
<dd class="immagine">[img]immagini/plasma.png[/img]</dd>
<dd class="descrizione">[url="#"]Notebook Dell processore Intel Core Duo 2, hard disk 250GB[/url]</dd>
<dd class="prezzo">1100€</dd>
<dd class="pulsante">[url="#"][img]immagini/nav_button.png[/img][/url]</dd>
</dl> 
Codice pagina common.js

Codice PHP:
var images_dir 'immagini/';
var 
over_prepend '_sel.png';
var 
img_prepend '_img';

function 
add_handlers() {
    var 
iargs,dlinkimgidto_preloadfunction_string;
    
document;
    
args add_handlers.arguments;
    
to_preload '';
    
function_string '';
    if(
d.images) {
        for(
0<args.lengthi++) {
            
id args[i];
            
elem d.getElementById(id)
            eval(
"elem.onmouseover = function() { MM_swapImage(\'"+id+img_prepend+"\',\'\',\'"+images_dir+id+over_prepend+"\',1); } ");
            
d.getElementById(id).onmouseout = function() { MM_swapImgRestore(); }; 
            
to_preload += "'"+images_dir+id+over_prepend+"',";
        }
    }
    
to_preload to_preload.substr(0,(to_preload.length-1));
    
exec("MM_preloadImages("+to_preload+");");
}

function 
MM_preloadImages() { //v3.0
  
var d=document; if(d.images){ if(!d.MM_pd.MM_p=new Array();
    var 
i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0i<a.lengthi++)
    if (
a[i].indexOf("#")!=0){ d.MM_p[j]=new Imaged.MM_p[j++].src=a[i]; }}
}



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_findObj(nd) { //v4.01
  
var p,i,x;  if(!dd=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    
d=parent.frames[n.substring(p+1)].documentn=n.substring(0,p);}
  if(!(
x=d[n])&&d.allx=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(!
&& d.getElementByIdx=d.getElementById(n); return x;
}

function 
MM_swapImage() { //v3.0
  
var i,j=0,x,a=MM_swapImage.argumentsdocument.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.oSrcx.oSrc=x.srcx.src=a[i+2];} 

Problemi:

Su I.E 7 non visualizzo i tasti selezionati, al contrario con Firefox ne visualizzo solo uno di selezionato (il primo). Se elimino una delle due "<dd class="pulsante.....</dd> riesco a visualizzarne una su Ie e una su Firefox. Sono giunto ad una conclusione, credo dipenda dal nome del pulsante nav_button.png che si ripete e quindi si crea una specie di conflitto. Il punto è che per questa pagina uso il linguaggio di programmazione ASP e le div contenenti i pulsanti verranno ripetute per "x" volte per quanti sono i prodotti visualizzati nella default.asp. Come posso fare per visuallizare i pulsanti selezionati senza problemi ogni volta che si passa il cursore sopra indipendemente dal numero di pulsanti presenti nella stessa pagina? Grazie in anticipo