Zemsky, на всякий случай
http://learn.javascript.ru/keyboard-events |
рони,
Вот спасибо! Буду разбираться.. |
Zemsky,
вариант управления стрелками ... кликнуть по квадрату вначале
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
div{height:100px;width:100px;background:#006400;position:relative}
</style>
<script>
window.onload = function () {
var b = {
39: ["left", 5],
37: ["left", -5],
40: ["top", 5],
38: ["top", -5],
left: 0,
top: 0
};
document.body.onkeydown = function (a) {
a = a || window.event;
a = a.keyCode;
var d = document.getElementById("show");
if (a in b) {
var c = b[a][0];
b[c] += b[a][1];
d.style[c] = b[c] + "px"
}
return false
}
};
</script>
</head>
<body>
<div id="show" ></div>
</body>
</html>
|
рони,
Кладу в архив. Это ассоциативный массив? Вот со второй частью полная непонятка... |
Цитата:
|
Цитата:
Я еще только начал осваивать. Поэтому и задачу несложную себе формулирую. И постепенно усложняю. |
рони,
Красиво, только зачем так сокращать, всё таки не в разработку отдаёте, а объясняете человеку :) А то получается полу обфусцированный код :) |
Zemsky,
a = a || window.event; Это для кроссбраузерности. В итоге в а будет событие. (event) a = a.keyCode; Перезаписали в а код нажатой клавиши, которую взяли из события if (a in b) { проверяем есть ли в объекте b ключ a var c = b[a][0]; объявляем переменную c равную первому элементу массива в объекте b c ключём a b[c] += b[a][1]; изменяем left или top в b в зависимости от клавиши d.style[c] = b[c] + "px" смещаем квадрат |
tsigel,
почему Цитата:
научусь имена давать вразумительные - будет несокращённый вариант. и спасибо что обьяснили мой код |
рони,
Ну как же! Ещё можно удалить переносы на новую строку и пробелы Цитата:
:) |
| Часовой пояс GMT +3, время: 03:21. |