onkeydown Event
Хочу чтобы блок двигался
#showKey
{
left: 50px;
top: 50px;
height: 40px;
width: 50px;
background-color: red;
position: relative;
display: block;
}
<div id="blocks" onkeypress="left(e)"></div>
function(e) {
e = e || event;
function(e) {
var block = document.getElementById("blocks")
switch(e.keyCode) {
case 37: // влево
block.style.left += 20+'px' ;
return false;
case 38: // вверх
block.style.top -= 20+'px' ;
return false;
case 39: // вправо
block.style.left -= 20+'px' ;
return false;
case 40: // вниз
block.style.top += 20+'px' ;
return false;
}
};
}
но у меня не выходит что не так? Как правильно написать? |
SpiriKoN,
клик на документ -- создать переменные направлений и к ним прибавлять дельту var left = 0; ... case 39: left -= 20; block.style.left = left+'px' ; |
|
document.body.onkeydown = function (e) {
var left = 0; var top = 0; var block = document.getElementById("blocks"); e = e || event; switch(e.keyCode) { case 37: // влево left -= 20; block.style.left = left+'px' ; return false; case 38: // вверх top -= 20; block.style.top = top+'px' ; return false; case 39: // вправо left += 20; block.style.left = left+'px' ; return false; case 40: // вниз top =top+ 20; block.style.top = top+'px' ; return false; } } написал но все равно не то. Как правильно? |
var left = 0;
var block = document.getElementById("blocks"); document.body.onkeydown = function (e) { e = e || event; switch(e.keyCode) { case 37: // влево left -= 20; block.style.left = left+'px' ; return false; case 39: // вправо left += 20; block.style.left = left+'px' ; return false; но так то что мне нужно Спасибо! |
Цитата:
и форматируйте свой код - зачем глаза ломать |
| Часовой пояс GMT +3, время: 07:14. |