Показать сообщение отдельно
  #1 (permalink)  
Старый 18.09.2008, 15:13
News
 
Сообщений: n/a

Использование метода setTimeout
Здравствуйте!
Написал скрипт, который переводит число из десятичной системы в двоичную и выводит весь процесс по шагам. Мне нужно сделать так, чтобы каждый шаг процесса выводился с небольшой временной задержкой, чтобы было нагляднее. В цикл, где выводятся шаги алгоритма, пишу setTimeout (document.write(numb),5). В результате выводится самое первое число, с которого начинается весь процесс перевода, но после него уже не выводится ничего. Наверное, я что-то не так понял в правилах употребления этого метода. Подскажите, пожалуйста, как сделать правильно?
На всякий случай, приведу сам скрипт.
Код:
<SCRIPT LANGUAGE="javascript">
    var numb = prompt ("Введите число в десятичной системе счисления","Здесь");
    cyfr=new Array()
    document.write("<HTML>")
    document.write("<TITLE>Перевод числа</TITLE>")
    document.write("<font size='+1'>")
    document.write("<center><H2>Перевести число "+numb+" из десятичной системы счисления в двоичную </H2></center><br>")
    var i=0 //номер итерации
    while (numb>1) //пока число можно делить на 2
   {
    i=i+1
    var a = Math.floor(numb/2);
    document.write("<font color='#0000CC'><b>") 
    document.write(numb)               //здесь показано 
    document.write("</font></b>") //что-то вроде деления
    document.write(" |_ 2<br>")     //в столбик
    if (a<=1)
   {
    document.write(a*2+" | ")   //a - это целая часть от деления
    document.write("<font color='#CC0000'><b>")
    document.write(a+"<br>")
    document.write("</font></b>")
   }
    
   else
  {
   document.write(a*2+" | ")
   document.write("<font color='#0000CC'><b>")
   document.write(a+"<br>")
   document.write("</font></b>")
  }
   document.write("<hr size='1' align='left' width='45' color='000000'>")
   document.write("<font color='#CC0000'><b>")
   document.write(numb-(a*2)) //вычитаем из исходного числа а и получаем остаток от деления
   cyfr[i]=numb-(a*2) //все получаемые остатки на каждом шаге деления заносим в массив
   document.write("</font></b>")
   numb=a
   //здесь мы закончили рисовать очередной столбик и переходим к следующему шагу процесса. Вот примерно в этом месте и хотелось бы поставить задержку. 
 }
    
 document.write("&nbsp&nbsp&nbsp&nbsp&nbsp <b> Ответ: </b>")
  for (k=i;k>=1;k=k-1)
  {
   document.write(cyfr[k])
  }
  document.write("</HTML>")
 
</SCRIPT>
Ответить с цитированием