Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как обработать бесконечный цикл? (https://javascript.ru/forum/dom-window/33231-kak-obrabotat-beskonechnyjj-cikl.html)

Iktash 14.11.2012 20:09

Как обработать бесконечный цикл?
 
Мне нужно, что бы элемент летал по эллипсу. Написал следующее:
function move( object, coordinateX, coordinateY ){
        $( object ).animate( {
            top: coordinateY + "px",
            left: coordinateX + "px",
          },
          10
        );
      } 
 
     function circle(object,Acoordinate, Bcoordinate,count){
for (var i = 0; i < count; i++) {
var t = ((3/2)*Math.PI+i/30);
var x = Acoordinate*Math.cos(t);
var y = Bcoordinate*Math.sin(t);
move( object, x, y );
}
}
    
      
      $( document ).ready(
        function(){
circle($( "#container" ),400, 200, 1000);
        }
      );

<head>
    <style type="text/css">
      #container{
        margin: 150 auto;
        background-color: #eef;
        border: 2px solid #ddf;
        height: 200px;
        width: 200px;
        position: relative;
        border-radius: 100px;
      }
    </style>
  </head>
  <body>
    <div id="container"></div>
  </body>

Собственно вопрос, а как сделать, что бы постоянно крутился? Пробовал бесконечный цикл - браузер не обрабатывает. Пробовал рекурсию написать, но то ли нельзя тут, то ли я не понял как. Прошу помощи. Заранее благодарен.

DjDiablo 14.11.2012 20:41

в кратце
var play=function(){           

        //фактически на месте этого комента и расположи тело цикла

        $("div").animate({left:0},10, play );
  }
  play();


Пример, можно запустить даже :D
<!DOCTYPE HTML>
<html>
  <head>
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    
  </head>
  <body>
    <div style="position:absolute; width:10px; height:10px;">Привет!</div>
    <script>
      var play=function(){
           
        $("div").animate({left:500}).animate({left:0},1000, play );
      }
      play();

    </script>

  </body>
</html>


вот только непонимаю зачем тебе animate

Iktash 15.11.2012 20:30

Спасибо большое за ответ. Я только начинаю js изучать. Нагуглил такой способ сделать, что б по кругу летало. Если поясните, в каком направлении нужно было искать, или еще лучше ссылочкой поделитесь быду очень благодарен.

ksa 16.11.2012 10:26

Цитата:

Сообщение от Iktash
в каком направлении нужно было искать, или еще лучше ссылочкой поделитесь

Так вот же
http://javascript.ru/blog/Andrej-Par...cii-JavaScript


Часовой пояс GMT +3, время: 05:41.