Надо написать код, который выводил бы таблицу безопасных цветов на экран. Подумал, написал вот это
draw.createPalette=function(){
for(var r=0; r<=255; r+=51){
pNode=document.createElement("table");
pNode.className="palette";
document.body.appendChild(pNode);
for(var g=0; g<=255; g+=51){
var pTr=document.createElement("tr");
pNode.appendChild(pTr);
for(var b=0; b<=255; b+=51){
var pTd=document.createElement("td");
pTd.onclick=function(color){return function(){draw.color=color}}(pTd.style.background="#"+r.toString(16)+g.toString(16)+b.toString(16));
pTr.appendChild(pTd);
}
}
}
}
Работает только в файерфоксе, и то лишь частично (не все цвета появляются). Тогда я написал так:
draw.createPalette=function(){
for(var r=0; r<=255; r+=51){
pNode=document.createElement("table");
pNode.className="palette";
document.body.appendChild(pNode);
for(var g=0; g<=255; g+=51){
var pTr=document.createElement("tr");
pNode.appendChild(pTr);
for(var b=0; b<=255; b+=51){
var pTd=document.createElement("td");
pTd.onclick=function(color){return function(){draw.color=color}}(pTd.style.background="rgb("+r+","+g+","+b+")");
pTr.appendChild(pTd);
}
}
}
}
Ура! Заработало, но вот сюрприз: IE6 наотрез отказался выводить её на экран. Почему? Вроде смотрел, ни слова про то, что IE6 rgb не поддерживает. В чём фишка?
P.S. Кстати, почему первый код не работает?
P.P.S. Забыл дописать: при клике на каждую ячейку переменной draw.color присваивается значение фона данной ячейки.