私がこのコードを持っているとしましょう:
<div id="gameFrame">
<div id="figure"></div>
</div>
Figure div がある場所は、Figure の写真と言えます。キーボードのキーを上下左右に動かして gameFrame 内の図を移動するために jQuery を使用するにはどうすればよいですか?
私がこのコードを持っているとしましょう:
<div id="gameFrame">
<div id="figure"></div>
</div>
Figure div がある場所は、Figure の写真と言えます。キーボードのキーを上下左右に動かして gameFrame 内の図を移動するために jQuery を使用するにはどうすればよいですか?
私のデモを見てください:
$(document).keydown(function(e){
// Left
if (e.keyCode == 37) {
$("#moveMe").animate({marginLeft: "-=100px"}, {queue:false});
return false;
}
// Top
if (e.keyCode == 38) {
$("#moveMe").animate({marginTop: "-=100px"}, {queue:false});
return false;
}
// Right
if (e.keyCode == 39) {
$("#moveMe").animate({marginLeft: "+=100px"}, {queue:false});
return false;
}
// Bottom
if (e.keyCode == 40) {
$("#moveMe").animate({marginTop: "+=100px"}, {queue:false});
return false;
}
});
あなたの場合、各移動後に境界を確認する必要があるため、図はフレームの外に移動しません。
キーボードの使用を除いて、あなたがやろうとしていることはすでに jQuery Draggable モジュールで行われています: http://jqueryui.com/demos/draggable/#default。彼らが行ったことを出発点として使用できるかもしれません。実際のコードはhttps://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.draggable.jsです。
欠点は、コードの拡張/変更にかなりの労力を費やさなければならない可能性があり、それでも他の jQuery コードに依存する可能性が高いことです。
繰り返しになりますが、jQuery コードの数分の 1 のサイズで何かを作成できる可能性があります。しかし、他の誰も何も起こさなかった場合に備えて、これを投稿すると思いました。
自分でやりたい場合、一般的なプロセスは次のようになります。
div
) でラップし、CSS を使用して位置を相対的に設定します。left
や などの CSS 属性top
) 。