私はx軸とy軸に沿ってdivを動かしていました。コードを実行すると、marginLeft変数とmarginTopにエラーが発生します。私はdivを移動し続けるkeydownストロークを続けたいので、これらの変数を含めました。可能であればjqueryだけを使ってコードを作成したいと思います。矢印を使用してウィンドウ内でDivを移動する
var player = $('#player');
var marginleft = $('#player').offset().left;
var margintop = $('#player').offset().top;
function movePlayer(e) {
if (e.keydown==39) {
marginleft +=2;
player.css('left', marginleft + 'px');
}
if (e.keydown==37) {
marginleft -=2;
player.css('left', marginleft + 'px');
}
if (e.keydown==40) {
margintop +=2;
player.css('top', margintop + 'px');
}
if (e.keydown==38) {
margintop -=2;
player.css('top', margintop + 'px');
}
}
#player {
width: 50px;
height: 50px;
background-color: red;
left: 0px;
top: 0px;
position: absolute;
}
body {
height: 100%;
width: 100%;
background-color: green;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div id="player"></div>
</body>
</html>
あなたの例でキーを押すのを聞くコードを含めるのを忘れました。私たちはそれをテストすることはできません –
@CoryDanielsonが提案したコードを提供してください。キャンバス、より柔軟なイモを見たい – Slico