Показать сообщение отдельно
  #1 (permalink)  
Старый 29.11.2011, 20:54
Интересующийся
Отправить личное сообщение для taha Посмотреть профиль Найти все сообщения от taha
 
Регистрация: 29.11.2011
Сообщений: 22

программная анимация
Сегодня утром наткнулся на данную статью Основы программной анимации на JavaScript

и вроде всё в порядке... даже реализовал анимацию, движение по спирали, пока в голову не начали лезть сомнения.. Всё-таки для человека долгое время развлекающегося асемблером и далекого от web-технологий всё это как то странно.. просто хочу уточнить пару моментов..

Допустим есть что-то похожее на:

function go(arg1,arg2){
  var radius = arg1;
  var obj = arg2; /* элемент который вращаем*/
  ...
  setTimeout(function() {
      /* Используем radius и obj*/
      /* Тут изменение параметров */
      if (/* условие срабатывания итерации */)
          setTimeout(arguments.callee, 0);
   }, 0);
}


Не могу до конца понять.. Смотрите..
мы запускаем go(MyElement1, Rad);
проинициализировались переменные
setTimeout запускает анонимную функцию и гоняет её по циклу, пользуясь переменными go(), пока не сделает все свои дела...

вопрос встал вот в чем: пока setTimeout гоняет свою функцию, она пользуется переменными go() и тут я могу понять замыкание и тд.. НО! А если я пользуюсь этой функцией не для одного элемента, а для нескольких??? Разве переменные radius и obj не должны перетераться???? и на этом месте у меня в голове заварилась каша
Ответить с цитированием