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