2012-12-11 4 views
0

안녕하세요 방금 자바 스크립트를 배우려고 시작했습니다. 이제 첫 번째 프로그래밍에서 화살표 키를 누를 때 "배경 위치"를 움직이는 코드를 작성하고 싶었습니다. 여러분 중 한 사람이 제 코드 수정을 도울 수 있기를 바랍니다.화살표 키로 배경 위치를 변경하려면 어떻게해야합니까?

내 (그래서 공상되지 않음) 코드 :

var x = 0; 
var y = 0; 

function GetChar (event){ 
     var keyCode = ('which' in event) ? event.which : event.keyCode; 
     posy(move(keyCode, x, y)) 
     posx(move(keyCode, x, y)) 
    } 


function move (key, x, y){ 
    if (key === 38){ 
     return y ++; 
    } if else (key === 40){ 
     return y --; 
    } if else (key === 39){ 
     return x ++; 
    } if else (key === 37){ 
     return x --; 
    } else{ 

    } 
} 

function posy(movy) { 
    return body.style.background-position-y + movy * 100; 
} 

function posx(movx) { 
    return body.style.background-position-x + movx * 100; 
} 
+1

'VAR 키 코드 = event.which을 || event.keyCode;'(또한'e'라는 이름은 Event 객체에서 자주 사용되는 문자이며 덜 문자입니다.) –

+1

'else if'가 아닌'else else' – elclanrs

+0

'document.body.style.backgroundPosition = movx * 100 + 'px'+ movy * 100 + 'px';' –

답변

0

내가 jQuery를 함께 해결 결국 :

$(document).ready(function(){ 

    var posx = 0; 
    var posy = 0; 

    $(document).keydown(function(e){ 
      if(e.keyCode==40){ 
       posy--; 
       console.log('down'); 
      }else if(e.keyCode==38){ 
       posy++; 
       console.log('up'); 

      }else if(e.keyCode==39){ 
       posx--; 
       console.log('right'); 

      }else if(e.keyCode==37){ 
       posx++; 
       console.log('left'); 

      }else{ 

      }; 
     console.log(posy); 
     console.log(posx); 
     $('body').css('background-position-y', ''+posy*100+'px'); 
     $('body').css('background-position-x', ''+posx*100+'px'); 
    }); 
}); 
관련 문제