Показать сообщение отдельно
  #1 (permalink)  
Старый 28.07.2012, 23:53
Интересующийся
Отправить личное сообщение для Romeo Посмотреть профиль Найти все сообщения от Romeo
 
Регистрация: 24.07.2012
Сообщений: 24

о этот setTimeout x_x
Доброго времени суток уважаемые форумчане!
Вот уже как день мучаюсь с этой триклятой функцией!
Имеется такой код(сокращённо):
response=response-0;
obj_p1=document.getElementById('l1'+idCell); 
obj_p2=document.getElementById('l2'+idCell); 
 while (response>=idCell) {
       i2=1;
       sl=parseInt(obj_p1.style.left);
       function rist() { 
       obj_p1.style.left=sl+i2+'px';
       obj_p2.style.left=sl+i2+'px';
       i2=i2+2;
       if (i2 < 300) {
       setTimeout(rist,0);
       } }
       rist(); 
  idCell++;
  obj_p1=document.getElementById('l1'+idCell); 
  obj_p2=document.getElementById('l2'+idCell); 
}

Ну и естественно setTimeout проходит только один раз, второй оборот цикла уже не выполняется! Уверен на 90% что всё дело в синтаксисе, но промучавшись 2 дня с всевозможными комбинациями '," и + ни к чему не пришёл! Прошу помочь, спасибо.

PS: До этого имел дело с этой функцией, и пока не привёл строчку к виду ниже, так же выполнялся прогон только один раз. Но тут вызов рекурсивный, и как это всё оформить просто не представляю(((
setTimeout("if (document.getElementById('"+trList2[i].id+"')) document.getElementById('"+trList2[i].id+"').style.display='none'",3000);
Ответить с цитированием