Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2012, 13:16
Новичок на форуме
Отправить личное сообщение для caca0 Посмотреть профиль Найти все сообщения от caca0
 
Регистрация: 18.05.2012
Сообщений: 7

Как установить задержку внутри цикла for - ?
Функция пеемещает квадратик (div#test) по экрану из левого верхнего угла в правый нижний.
Попробова добавить интервал - задержку перед перемещением - не получается. Консоль ругается - "Operation is not supported
var elemWidth = window.getComputedStyle(elem,null).getPropertyValu e('width');"
В чем может быть дело?

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>Test Page</title>
    <link rel="stylesheet" href="css/reset.css">
    <style type="text/css">
        #test {
            display: block;
            width: 50px;
            height: 50px;
            position: absolute;
            top: 0;
            left: 0;
            background-color: red;
        }
    </style>
</head>
<body>
<div id="test">

</div>
<script type="text/javascript">

function moveObject(element) {
        var screenWidth = window.innerWidth;
        var screenHeight = window.innerHeight;
        var elem = document.getElementById(element);
        var elemWidth = window.getComputedStyle(elem,null).getPropertyValue('width');
        elemWidth = parseInt(elemWidth);
        var elemHeight = window.getComputedStyle(elem,null).getPropertyValue('height');
        elemHeight = parseInt(elemHeight);
        var top = window.getComputedStyle(elem,null).getPropertyValue('top');
        top = parseInt(top);
        var left = window.getComputedStyle(elem,null).getPropertyValue('left');
        left = parseInt(left);
        var count = 1;
        var timeout = setTimeout(arguments.callee, 2000);
        for(top,count; top <= screenHeight - elemHeight; top = top + elemHeight,count++) {
            if(!count % 2 == 0) {
                for(left; left <= screenWidth - elemWidth; left = left + elemWidth) {
                    elem.style.left = left + 'px';
                    console.log(elem.style.left + '/');
                    timeout;
                }
            }
            if(count % 2 == 0) {
                for(left; left >= elemWidth; left = left - elemWidth) {
                    elem.style.left = left + 'px';
                    console.log(elem.style.left + '//');
                    timeout;
                }
            }
            console.log(elem.style.top + '///');
            elem.style.top = top + 'px';
            timeout;
        }
    }

moveObject('test');

</script>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 29.05.2012, 14:54
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от caca0
var timeout = setTimeout(arguments.callee, 2000);
Сообщение от caca0
for..
{....
timeout
};

1 в цикл for таймauт вставить не выйдет как и в любой цикл
Сообщение от caca0
for(left; left >= elemWidth; left = left - elemWidth) {
elem.style.left = left + 'px';
console.log(elem.style.left + '//');
timeout;
}
....
второе -читайте что такое будет timeout после timeout = setTimeout...
ну и куча всего прочего...

Последний раз редактировалось dmitriymar, 29.05.2012 в 16:32.
Ответить с цитированием
  #3 (permalink)  
Старый 29.05.2012, 15:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Имхо - тут setInterval более подходящ => http://javascript.ru/setInterval
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы ссылка окрывалась внутри <iframe>? lisawow Events/DOM/Window 2 30.03.2012 19:16
Как рандомно запустить js внутри другого js? fonzo24 Общие вопросы Javascript 3 21.11.2011 13:31
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Как приостановить выполнение цикла? SashaBorandi jQuery 3 13.02.2009 08:57
как отобразить в окне значения счетчика во время выполнения цикла FOR Алекс97 Общие вопросы Javascript 5 06.09.2008 10:36