Движение объекта и текущие координаты
Подскажите, как извлечь текущие координаты у движущегося обьекта в 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, время: 12:18. |