DarkGoodWIN - JavaScript. Учебник начального уровня стр 20.

Шрифт
Фон

        function checkCell(i, j)

        {var tbl = document.getElementById(«tbl»);

              var cell = tbl.rows[i].cells[j];

              var s = mines.checkCell(i, j);

              cell.innerHTML = s;

              if (s == "*")

                    cell.bgColor = 'red';}

        function initTable()

        {var tbl = document.getElementById(«tbl»);

              for (var i = 0; i < mines.rowCount; i++)

              {var row = tbl.insertRow(i);

                    for(var j = 0; j < mines.colCount; j++)

                    {var cell = row.insertCell(j);

                          cell.innerHTML = '?';

                          function SetCellClick(i, j)

                          {cell.onclick= function() {checkCell(i, j)};};

                          SetCellClick(i, j);}}}

Давайте по порядку. Строчку «var mines = new minesClass(10, 10, 10);" я перенёс наверх, чтобы переменная mines стала доступна из других функций (напомню, что переменная, объявленная внутри функции доступна только внутри этой функции, а «внешние» переменные доступны также в других функциях). Нам потребуется использовать эту переменную в функции checkCell, которую мы выделили из функции initTable.

По сути, в функции checkCell мы получаем из таблицы ячейку с i-ой строкой и j-ым столбцом и присваиваем ей текст, соответствующий количеству бомб рядом (раньше мы это делали непосредственно при инициализации таблицы). Для получения ссылки на ячейку, мы получаем ссылку на таблицу с помощью метода getElementById заранее предопределённой переменной document. Далее мы получаем ссылку на нужную строку, обращаясь к полю rows таблицы (это массив, поэтому после имени поля в квадратных скобках указываем индекс) и сразу же обращаемся к полю cells строки (это тоже массив) для получения искомой ссылки на ячейку.

Последующие строки функции checkCell мы перенесли из функции initTable без изменений.

Ну и последнее о чём осталось рассказать — функция initTable. Несколько строчек мы оттуда унесли и появилась, несколько добавили:

                      cell.innerHTML = '?';

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Популярные книги автора