Движение объекта и текущие координаты
Подскажите, как извлечь текущие координаты у движущегося обьекта в Jquery? Мне надо проверять не вышел ли за экран объект и если вышел - производить определенные действия.
Анимания (движение) начинается автоматически по загрузке окна, функцией animate(). |
Через offset().
|
А как именно?
Вот такой код почему-то не работает. $("#baby").animate({left: '+=1000'},2500); var pos = $(document).width()-$("#baby").offset().left-$("#baby").width(); if(pos==0) alert("конец!"); |
$("#baby").animate({ left : $(document).width() - $("#baby").width(); }, 2500); |
Спасибо.
А как мне проверить, достиг ли элемент границы экрана (чтобы потом вызвать сообщение)? |
$("#baby").animate({ left : $(document).width() - $("#baby").width(); }, 2500, function () { alert("Done!"); }); |
Нет, немного не то. Расскажу, что мне нужно в итоге получить.
Я пишу игру на javascript. Смысл игры заключается в переносе мышкой объектов, которые постоянно появляются в окне в одной точке и разлетаются в разные стороны, в фиксированное место. Drag and Drop реализован с помощью Jquery UI. Собственно, текущая проблема состоит в том, что сообщение о том, что объект достиг границы экрана будет выдано в любом случае после прекращения анимации, а мне надо, что анимация после перемещения объекта в коллектор просто сбросилась и не выдала сообщение о проигрыше. Вот набросок кода. $(".drop").droppable({ accept: ".baby", over: function(ev, ui) { /*$(".baby").hide(); */ /*$(".baby").remove();*/ }, out: function(ev, ui) { $(this).append("Out! "); } }); var deltime = setInterval(function() { $("<div class=baby><img src=baby2.gif></div>").appendTo("body"); $(".baby").draggable(); $(".baby").animate({ left: $(document).width()-$(".baby").width()}, 2000, function(){ alert("Вы проиграли!"); }); $(".baby").mousedown(function(){ $(this).stop(); }); },1000); |
Часовой пояс GMT +3, время: 06:22. |