Я изучаю JS и в настоящее время изучаю свой экзамен MTA, поэтому я не эксперт, как вы можете видеть. Я не понимаю, где находится элемент, который делает этот код исполнять снова и снова.Что делать, чтобы этот код выполнялся снова и снова
При загрузке документа, init()
называется, он получает элемент, который будет перемещен, а затем он вызывает move_par()
А вот функция перемещает элемент до тех пор, пока не достигнет 300. Почему после этого выполняется его начинается снова?
Вы не можете помочь.? Благодаря
здесь код
<!DOCTYPE html>
<html>
<head>
<title> Animation</title>
<script type="text/javascript">
function move_par() {
current += 1;
if (current > 300) {
current = 0;
}
par.style.left = current;
var rate = document.getElementById("rate").value;
setTimeout(move_par, rate);
}
function init() {
par = document.getElementById("ori");
par.style.position = "absolute";
current = 0;
move_par();
}
</script>
</head>
<body onload="init();">
<h1> animation with js</h1>
<form>
<input id="rate" type="number" value="18" min="1" max="100">
</input>
</form>
<p id="ori"> Do you see me moving?</p>
</body>
</html>
Это 'SetTimeout (move_par, скорость)', 'move_par()' выполняется каждые 'rate' миллисекунды. –
спасибо Кайл ... в соответствии с W3school установить тайм-аут shoul будет выполнен один раз. «Определение и использование» Метод setTimeout() вызывает функцию или оценивает выражение после заданного количества миллисекунд. Совет: 1000 мс = 1 секунда. Совет. Функция выполняется только один раз. Если вам нужно повторить выполнение , используйте метод setInterval(). Совет. Используйте метод clearTimeout(), чтобы предотвратить запуск функции. " - поэтому почему повторяется более одного раза – shark6552