In ogni caso la sintassi
codice:
Indice = Math.floor(Math.random() * ColPag.length);
è sbagliata: il metodo random() restituisce un valore compreso tra 0 e 1 (es. 0.001254, 0.2354, ecc...) che, per esserti utile, deve essere moltiplicato *10 (minimo) al fine di ottenere un numero compreso tra 0 e 9.999999 a cui poi toglierai la parte decimale.
Per il resto, prova questo codice:
codice:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Prova</title>
<script language="JavaScript">
<!--
// Crei un array di colori
myImageArray=new Array();
myImageArray[0]="#FF0000";
myImageArray[1]="#00FF00";
myImageArray[2]="#0000FF";
myImageArray[3]="#FFFFFF";
myImageArray[4]="#000000";
myImageArray[5]="#555555";
myImageArray[6]="#BBBBBB";
myImageArray[7]="#FF5555";
myImageArray[8]="#55FF55";
myImageArray[9]="#5555FF";
function changeBackground() {
var p=Math.round(Math.random()*10); // assegna alla variabile p un valore random compreso tra 0 e 9
var bckgrd=myImageArray[p];
window.alert(bckgrd);
}
window.document.onload=changeBackground();
// -->
</script>
</head>
<body bgcolor="#ffffff">
<table>
<tr>
<td id="pippo" bgcolor="&{bckgrd};%">ciao</td>
</tr>
</table>
</body>
</html>