Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um pequeno código que faz com que uma imagem se mova quando botões são acionados... Mas o problema, ela está movendo para baixo e para a esquerda da tela, como posso fazer para que a imagem suba? Tentei usar "bottom" em vez de "top" e "left" mas não funcionou.
Aqui está o código(Top = desce a imagem)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#imagemNome{
position: relative;
}
</style>
<script language="JavaScript" type="text/javascript">
i = 0;
function Seguir() {
i = i + 2;
document.getElementById("imagemNome").style.left = i;
if (i <= 1000) {
window.setTimeout ("Seguir()", 100);
}
}
function MoverParaBaixo() {
i = i + 5;
document.getElementById("imagemNome").style.top = i;
if (i <= 1000) {
window.setTimeout ("Seguir()", 100);
}
}
function MoverParaCima() {
i = i + 5;
document.getElementById("imagemNome").style.bottom = i;
if (i <= 1000) {
window.setTimeout ("Seguir()", 100);
}
}
</script>
</head>
<body >
<center>
<table>
<tr>
<td><input type="button" value="→" onclick="Seguir()"></td>
<td><input type="button" value="↓" onclick="MoverParaBaixo()"></td>
<td><input type="button" value="↑" onclick="MoverParaCima()"></td>
</table>
</center>
<img src="passaro.gif" id="imagemNome">
</body>
</html>>
Olá,
É esse código mesmo?
Pelo que eu entendi dele, ele nunca vai mover para baixo e nem para cima, sempre para a direita da tela. Em todo setTimeout() você está chamando a função de mover na lateral.
Ih, cara é esse mesmo.. E ele tá movendo sim para baixo e.e. Poderia me dizer alguma outra maneira de eu está fazendo isso?
você pode usar números negativos, assim você inverte a posição.
Lembrando que se for colocar um bottom, você precisa antes zerar o top que havia, senão, não haverá efeito.
Mas uma forma muito mais eficaz é utilizar css 3 transitions, no lugar do setTimeout
Olá,
É esse código mesmo?
Pelo que eu entendi dele, ele nunca vai mover para baixo e nem para cima, sempre para a direita da tela. Em todo setTimeout() você está chamando a função de mover na lateral.