Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

so esta a mover para esquerda e direita, não esta mover para baixo nem para cima

<html>
<head>
    <script type="text/javascript">



        function teclas(){
if(event.keyCode==37){
x=document.getElementById("simbolo");
x.style.left=(x.offsetLeft-10)+"px";

}
if(event.keyCode==38){
x=document.getElementById("simbolo");
x.style.up=(x.offsetLeft+10)+"px";    



        }
if(event.keyCode==39){
x=document.getElementById("simbolo");
x.style.left=(x.offsetLeft+90)+"px";    

}
if(event.keyCode==40){
x=document.getElementById("simbolo");
x.style.down=(x.offsetLeft+10)+"px";    



        }

}
    </script>
</head>
<body bgcolor="#000000" onkeydown="teclas()">
<img src="ponto.png" width="50px" height="50px" id="simbolo" style="position:absolute;">
</body>
</html>
2 respostas
solução!

Oi Manuel, para cima e para baixo, você não tem exatamente um up e down, mais sim um top e bottom. Neste caso, podemos usar apenas o top do mesmo jeito que você usou só o left para controlar os movimentos laterais.

Isso vale tanto para o atributo do style quanto pro offset. Olha aqui:

if(event.keyCode==37){
        x=document.getElementById("simbolo");
        x.style.left=(x.offsetLeft-10)+"px";
      }

      if(event.keyCode==38){
        x=document.getElementById("simbolo");
        x.style.top=(x.offsetTop-10)+"px";    
      }

      if(event.keyCode==39){
        x=document.getElementById("simbolo");
        x.style.left=(x.offsetLeft+90)+"px";    
      }

      if(event.keyCode==40){
        x=document.getElementById("simbolo");
        x.style.top=(x.offsetTop+10)+"px";    
      }

deu certo obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software