addEventListener('keydown', ifKeydown, false); function ifKeydown(event){ switch(event.keyCode){ case '37': $('.player').css('left','-=80'); break; case '38': $('.player').css('top','-=62'); break; case '39': $('.player').css('left','+=80'); break; case '40': $('.player').css('top','+=62'); break; } }
↓こんな感じでif文でごりごり書いてったら動くけど間にもっと処理追加したいからswitchがいい
if(event.keyCode=='37') $('.player').css('left','-=80'); if(event.keyCode=='38') $('.player').css('top','-=62'); if(event.keyCode=='39') $('.player').css('left','+=80'); if(event.keyCode=='40') $('.player').css('top','+=62');
switch(event.keyCode){ case '37': これ有ってるか? case 37: とか、 case 0x37: とかじゃないの?
下のif文は動くんだってば
下の if は文字列同士の比較が行われる。 switch 文は数字として比較が行われる。 とか?
わからんのでelseifでだらだら書くことにしました 考えてくれた人ありがとう それにしてもこういうわかりやすいロジックで解決できない謎の不具合が出るとほんと疲れる
とりあえず、うごかした。 <html><body><div style="border: 1px solid black; width: 400px; height: 400px; background-color: lawngreen;"> <div class="player" style="position: relative; width: 10...