あなたの質問がまだあなたにとって興味深いものであることを願っています。私は少し時間があり、いつも自分の記憶ゲームを持ちたいと思っていました. だから私はあなたの望む関数の構築を始めました。完全なコードについてはFiddleを参照してください。フィドル フレームのため、ゲームを 1 回クリックする必要があります。
編集:申し訳ありませんが、プラグインの独自の基本設定の 1 つをフォークしたため、スクリプトにゴミコードが含まれています。後で削除します。
まだ完成していませんが、今日完成させます。後でいくつかのオプションを追加したいので、プラグインとしてビルドしました。しかし、キーの動きの考え方は明確でなければなりません。
位置を見つけるためにMap-Objectを作成しました(配列を使用することもできますが、簡単だと思います)。
ここにすべてを投稿するにはコードが多すぎるため、ここにスニペットを示します。
$(window).keydown(function (e) {
//Initial set first card as selected
var actCard, nextCard;
if ($('.cardset').find('.selected').length < 1) {
$('#card1').addClass('selected');
} else {
switch (e.which) {
case 37: // left
$('.cardset').find('.selected').cardMoveHorizont('prev', cardMap);
break;
case 38: // up
$('.cardset').find('.selected').cardMoveHorizont('up', cardMap);
break;
case 39: // right
$('.cardset').find('.selected').cardMoveHorizont('next', cardMap);
break;
case 40: // down
$('.cardset').find('.selected').cardMoveHorizont('down', cardMap);
break;
default:
return; // exit this handler for other keys
}
e.preventDefault();
}
});