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, время: 07:58. |