codice:
...
...
<script type="text/javascript">
function Hexa(Dec){
var nb = Dec.toString(16)
if (nb.length < 2) {nb = "0" + nb}
return(nb)
}
function GradientPart(dr, dg, db, fr, fg, fb, Step) {
cr=dr; cg=dg; cb=db
sr = (fr-dr) / Step
sg = (fg-dg) / Step
sb = (fb-db) / Step
var Result = ''
for (var x = 0; x <= Step; x++) {
var cmd = " onclick=\"ColorCode.value=this.bgColor.toUpperCase();\" onmouseover=\"ColorShow.style.backgroundColor=this.bgColor;\""
Result += "<TD style=height:3;width:3; BGCOLOR=#" + Hexa(Math.floor(cr)) + Hexa(Math.floor(cg)) + Hexa(Math.floor(cb)) + cmd + "></TD>"
cr += sr; cg += sg; cb += sb
}
return(Result)
}
function WriteRow(a, i, StepNB){
str = "<TR>"
+ GradientPart(a,i,i, a,a,i, StepNB)
+ GradientPart(a,a,i ,i,a,i, StepNB)
+ GradientPart(i,a,i, i,a,a, StepNB)
+ GradientPart(i,a,a, i,i,a, StepNB)
+ GradientPart(i,i,a, a,i,a, StepNB)
+ GradientPart(a,i,a, a,i,i, StepNB)
+ "</TR>"
return(str)
}
function ColorTable(ColorStep, StepNB){
sHTML = "<TABLE CELLPADDING=0 CELLSPACING=0 STYLE='border: 1px solid black;text-align:left;'>"
for (a=0; a<=255; a+=ColorStep){
sHTML += "<COL WIDTH=\"3\">"
}
for (a=0; a<=255; a+=ColorStep){
sHTML += WriteRow(a,0, StepNB)
}
for (i=0; i<=255; i+=ColorStep){
sHTML += WriteRow(255,i, StepNB)
}
sHTML += "</TABLE>"
return(sHTML)
}
</script>
...
...
e consente di inserire la scelta effettuata in un input type text (sull'onload="Colors.innerHTML = ColorTable(16,15);"):