Динамическая отрисовка в javascript html5

программирование html JavaScript html5

<canvas width='128' height='128' id='graphics'>Обновите браузер</canvas>
<script id='init'>
var screen = document.getElementById("graphics");
var g = screen.getContext('2d');
a = 0;
r = 64;
while (true) {
a = a + 10;
x = r*Math.cos(a);
y = r*Math.sin(a);
g.beginPath();
g.strokeStyle = "red";
g.moveTo(64, 64);
g.lineTo(64+x, 64+y);
g.closePath();
g.stroke();
g.restore();
}
</script>
Бесконечный груз страницы. Отрисовка только после того, как вручную остановить загрузку страницы. А требуется в режиме реального времени - загрузилось, и пошло рисовать.
Ответы:
закинуть в ф-цию и вызвать когда загрузится страница. в javascript нет многопоточности.
PS: бесконечный цикл наводит на размышления, хотя могу быть не прав - не работал с канвасом.
PPS: вместо цикла setInterval
<script >var  a = 0;
var  r = 64;var ss;
var g;
window.onload=function(){   var sc = document.getElementById("graphics");
   g = sc.getContext('2d');alert(g);
ss=   setInterval(ff,1000) }
function ff() {
      a = a + 10;
      x = r*Math.cos(a);
      y = r*Math.sin(a);
      g.beginPath();
      g.strokeStyle = "red";
      g.moveTo(64, 64);
      g.lineTo(64+x, 64+y);
      g.closePath();
      g.stroke();
}
</script>
<body><canvas width='128' height='128' id='graphics'>Обновите браузер</canvas>
=============================================================
если нужно остановить то гдето надо запиcать clearInterval(ss)


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.