Здравствуйте!
Написал скрипт, который переводит число из десятичной системы в двоичную и выводит весь процесс по шагам. Мне нужно сделать так, чтобы каждый шаг процесса выводился с небольшой временной задержкой, чтобы было нагляднее. В цикл, где выводятся шаги алгоритма, пишу 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("      <b> Ответ: </b>")
for (k=i;k>=1;k=k-1)
{
document.write(cyfr[k])
}
document.write("</HTML>")
</SCRIPT> |