Задержка выполнения
Нужно реализовать плавное перемещение блока по экрану
block.go=function(){ for (; this.ul.x > 1 && this.ul.x < 500 && this.ul.y > 1 && this.ul.y < 500; this.ul.x--, this.ul.y--) { document.getElementById('block1').style.left = block.ul.x; document.getElementById('block1').style.top = block.ul.y; setTimeout('block.go()',5000); } } результат при запуске перемещаемый блок отображается уже в конечной точке. может в ява скрипте рекурсии нет?? |
Во-первых, у вас тут и нет рекурсии, во-вторых, вы перемещаете блок в один прогон, без задержек.
setTimeout != sleep. |
setTimeout это не sleep
http://javascript.ru/blog/Andrej-Par...cii-JavaScript |
Цитата:
ведь функция вызывается из этой же функции. setTimeout - я так понимаю в ней указывается имя функции, которая запустится через N милисекунд указанных во втором параметре. |
Цитата:
Вы там вообще бред какой-то делаете. Какой смысл в запуске таймера в цикле? |
вы внимания на цикл не обращайте, он делался до того как я узнал что аналога функции Sleep в яваскрипте нет.
|
сейчас он работает просто как if со счетчиком.
|
Сейчас он сразу передвигает блок на N пикселей, а потом N раз срабатывает таймаут. (N -- количество итераций)
|
спасибо уже сам разобрался.
|
Часовой пояс GMT +3, время: 20:02. |