Использование DHTML и JavaScript для перемещения объекта
Я застрял. Я студент, изучающий JavaScript, и это задание пинает меня в задницу... Почему? Потому что нет смысла текста / учебники и т. Д., Чтобы помочь. Было сказано изучить код и заставить его двигаться. Первоначально он двигался слева направо... смог изменить его и сделать так, чтобы он двигался сверху вниз. То, где я застрял - это не то, что я должен перемещать его по диагонали по всей странице. Я ничего не могу найти... пожалуйста, помогите. Не просить сделать это, но дать подсказку или указать направление урока...
Вот код, который я сейчас имею:
<html>
<head>
<title>DHTML</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
var row = 0;
function moveBoatRight()
{ //function moves boat towards the right shore
document.getElementById("Man").style.top=100+(row*12); //This accesses the graphic on the page and moves its position
if (row < 20)
{
row++; //only need 20 iterations to make it across the river
window.setTimeout("moveBoatRight();",130); //Recursive function that gives a slight delay in time to look more fulid
}
}//end of moveBoatRight Function
//-->
</script>
</head>
<body bgcolor="#FFFFCE" >
<h1><strong>Using DHTML</strong></h1>
<div id="Man" style="position:relative; left:100px; top:100px; visibility:visible; y-index:1; width: 100px; height: 103px;"><img border="0" src="arrowDown.png" width="95" height="103"></div>
</div>
<form>
<input type="button" id="sbutton" value="submit" onClick="moveBoatRight();">
</form>
</body>
1 ответ
Это поможет вам:
function moveBoatdiagonally() {
document.getElementById("Man").style.top=100+(row*12); //This accesses the graphic on the page and moves its position
document.getElementById("Man").style.left=100+(row*12); //This accesses the graphic on the page and moves its position
if (row < 20) {
row++; //only need 20 iterations to make it across the river
window.setTimeout("moveBoatRight();",130); //Recursive function that gives a slight delay in time to look more fulid
}
}
Как вы можете видеть, на каждой итерации цикла вы перемещаете свои первые "лодки" в направлении y, а затем в направлении x. Результат будет выглядеть как диагональное направление.
Вы можете, конечно, поменять их, если хотите по каким-то причинам.
Фон состоит в том, что у вас есть прямоугольная сетка пикселей и очень быстрый способ реального перемещения объекта. Вы не можете заметить, что это на самом деле два разных хода.