matrix - нужна помощь
Я только начал изучать, нужна ваша помощь друзья!
матрица готова, мне надо лишь раскрасить один div на ней и заставить его перемещаться при нажатии стрелок на клаве. Зарание всем спасибо! // // Создание матрицы. // function createMatrix() { var matrix = document.getElementById('matrix'); var n = 20 * 20; for (var i = 0; i < n; i++) { var div = document.createElement('div'); div.className = 'cell'; matrix.appendChild(div); } } // // Чтение ячейки матрицы. // function getCell(row, col) { // Функция принимает координаты ячейки // должна вернуть true, если она закрашена, // false, если не закрашена. } // // Установка ячейки матрицы. // function setCell(row, col, val) { // Функция принимает координаты ячейки // если , закрашивает ячейку, // иначе убирает закраску. } // // Точка входа. // window.onload = function() { createMatrix(); } |
Внимание, вопрос! (звучит гонг) (с)
|
Цитата:
/*Создаём переменные*/ var color = 'red'; var x = 10; var y = 10; // // Создание матрицы. // function createMatrix() { var matrix = document.getElementById('matrix'); var n = 20 * 20; for (var i = 0; i < n; i++) { var div = document.createElement('div'); div.className = 'cell'; matrix.appendChild(div); } } // // Чтение ячейки матрицы. // function getCell(row, col) { // Функция принимает координаты ячейки // должна вернуть true, если она закрашена, // false, если не закрашена. } // // Установка ячейки матрицы. // function setCell(row, col, val) { // Функция принимает координаты ячейки // если , закрашивает ячейку, // иначе убирает закраску. } /*функция обработки при нажатии на клаву*/ document.onkeydown = function(event){ event = (event) ? event : window.event; switch(event.keyCode){ case 37: setCell(x, y); y--; setCell(x, y, color, true); break case 38: setCell(x, y); x--; setCell(x, y, color, true); break case 39: setCell(x, y); y++; setCell(x, y, color, true); break case 39: setCell(x, y); x++; setCell(x, y, color, true); break } } function var_dump(obj) { var s = '<h1>' + p + obj + '</h1>' s += '<li><b>' + p + '</b> : ' + obj[p] + '</li>'; s += '</ol>'; window.document.body.innerHTML =S; } // // Точка входа. // window.onload = function() { createMatrix(); setCel(x, y, color, true); } |
Цитата:
P.S. Тестовый пример нужно делать полностью. От огрызков нет толка... |
это весь код
|
не закрашивается див и в консоли выводит ошибку : ReferenceError: setCel is not defined
[Прерывать на этой ошибке] setCel(x, y, color, true); |
Цитата:
Цитата:
Ну нет у тебя того setCel... Найди отличие Цитата:
Цитата:
|
спасибо, но всё равно ошибка...
|
ну вот вроде всё работает, но и опять это "НО"
когда доходит до стенки матрици в консоли ошибки и чо то хвост у неё большой. подскажите кто знает. /*Создаём переменные*/ var color = 'red'; var x = 10; var y = 10; // // Создание матрицы. // function createMatrix() { var matrix = document.getElementById('matrix'); var n = 20 * 20; for (var i = 0; i < n; i++) { var div = document.createElement('div'); div.className = 'cell'; matrix.appendChild(div); } } // // Чтение ячейки матрицы. // function getCell(row, col) { // Функция принимает координаты ячейки // должна вернуть true, если она закрашена, // false, если не закрашена. } // // Установка ячейки матрицы. // function setCell(row, col,color, val) { // Функция принимает координаты ячейки // если , закрашивает ячейку, // иначе убирает закраску. var int = (row-1)*20 +col -1; document.body.children[0]; document.getElementById('matrix').children[int].style.backgroundColor = (val) ? color : 'red'; } /*функция обработки при нажатии на клаву*/ document.onkeydown = function(event){ event = (event) ? event : window.event; switch(event.keyCode){ case 37: setCell(x, y); y--; setCell(x, y, color, true); break case 38: setCell(x, y); x--; setCell(x, y, color, true); break case 39: setCell(x, y); y++; setCell(x, y, color, true); break case 40: setCell(x, y); x++; setCell(x, y, color, true); break } } function var_dump(obj) { var s = '<h1>' + p + obj + '</h1>' s += '<li><b>' + p + '</b> : ' + obj[p] + '</li>'; s += '</ol>'; window.document.body.innerHTML =S; } // // Точка входа. // window.onload = function() { createMatrix(); setCell(x, y, color); } |
Цитата:
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> /*Создаём переменные*/ var color = 'red'; var x = 10; var y = 10; // // Создание матрицы. // function createMatrix() { var matrix = document.getElementById('matrix'); var n = 20 * 20; for (var i = 0; i < n; i++) { var div = document.createElement('div'); div.className = 'cell'; matrix.appendChild(div); }; }; // // Чтение ячейки матрицы. // function getCell(row, col) { // Функция принимает координаты ячейки // должна вернуть true, если она закрашена, // false, если не закрашена. }; // // Установка ячейки матрицы. // function setCell(row, col,color, val) { // Функция принимает координаты ячейки // если , закрашивает ячейку, // иначе убирает закраску. var int = (row-1)*20 +col -1; document.body.children[0]; document.getElementById('matrix').children[int].style.backgroundColor = (val) ? color : 'red'; }; /*функция обработки при нажатии на клаву*/ document.onkeydown = function(event){ event = (event) ? event : window.event; switch(event.keyCode){ case 37: setCell(x, y); y--; setCell(x, y, color, true); break case 38: setCell(x, y); x--; setCell(x, y, color, true); break case 39: setCell(x, y); y++; setCell(x, y, color, true); break case 40: setCell(x, y); x++; setCell(x, y, color, true); break }; }; function var_dump(obj) { var s = '<h1>' + p + obj + '</h1>' s += '<li><b>' + p + '</b> : ' + obj[p] + '</li>'; s += '</ol>'; window.document.body.innerHTML =S; }; // // Точка входа. // window.onload = function() { createMatrix(); setCell(x, y, color); }; </script> </head> <body> </body> </html> Делай полные примеры! Огрызки ничего не дадут... |
Часовой пояс GMT +3, время: 02:51. |