Mam problem z wypełnieniem tabeli HTML losowymi liczbami generowanymi za pomocą Javascriptu. Dopiero raczkuje w tej tematyce i krok po kroku zaczynam studiować książkę "Po prostu Javascript i Ajax". Niestety, zatosowana tam pętla FOR nie działa.
Poniżej zamieszczam kod:
Kod
var usedNums = new Array(76);
function initAll(){
if (document.getElementById){
for (var i=0; i<24; i++){
setSquare(i);// jeśli w pętli wstawię alerta to jedyny wynik zwrócony przez przeglądarkę to 0, a gdzie pozostałe 23 liczby?
}
}
else{
alert ("Przykro mi, ale Twoja przegladarka nie jest w stanie obsluzyc tego skryptu");
}
}
function setSquare(thisSquare){
var currSquare = "square" + thisSquare;
var colPlace = new Array(0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4);
var colBasis = colPlace[thisSquare] * 15;
var newNum;
do {
newNum = colBasis + getNewNum() + 1;
}
while (usedNums[newNum]);
usedNum[newNum] = true;
document.getElementById(currSquare).innerHTML = newNum;
}
function getNewNum(){
return Math.floor(Math.random() * 15);
}
function initAll(){
if (document.getElementById){
for (var i=0; i<24; i++){
setSquare(i);// jeśli w pętli wstawię alerta to jedyny wynik zwrócony przez przeglądarkę to 0, a gdzie pozostałe 23 liczby?
}
}
else{
alert ("Przykro mi, ale Twoja przegladarka nie jest w stanie obsluzyc tego skryptu");
}
}
function setSquare(thisSquare){
var currSquare = "square" + thisSquare;
var colPlace = new Array(0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4);
var colBasis = colPlace[thisSquare] * 15;
var newNum;
do {
newNum = colBasis + getNewNum() + 1;
}
while (usedNums[newNum]);
usedNum[newNum] = true;
document.getElementById(currSquare).innerHTML = newNum;
}
function getNewNum(){
return Math.floor(Math.random() * 15);
}
Proszę o wskazanie miejsca, w którym występuje błąd, powodujący brak wyniku, którym byłoby wypełnienie tabeli losowymi liczbami.
Pozdrawiam i gorąco liczę na odzew. Pewnie to jakiś drobny błąd, który wkradł się do książki, ale teoretycznie moim zdaniem powyższy kod powinien działać, a nie działa :-(