У меня есть следующий код, я пытаюсь сделать, чтобы отделение анимировало на событии щелчка, но по некоторым причинам отделение сразу перемещается в местоположение, и оно не анимирует к указанным координатам, что я делаю неправильно здесь? код:
$(document).ready(function() { $('#example1').click(function(e){ var x = e.pageX - this.offsetLeft; var y = e.pageY - this.offsetTop; $('#example1-xy').html("X: " + x + " Y: " + y); var leftOfShip = x; //var leftOfShip = document.getElementById("ship").style.left + 20; $("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000); }); });
Любой Совет помог бы!!
Вы неправильно вызываете animate
.
Измените его на
$("#ship").animate({ left: leftOfShip }, 5000);
Проблема в вашем анимированном вызове:
$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000);
должен стать:
$("#ship").animate({left: leftOfShip}), 5000);
вы можете поиграть с некоторым кодом на http://www.jsfiddle.net/7yNM4 / в очень простом мокапе.
Я думаю, что функция анимации работает только с параметром "число".
Следующее:
$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000);
должно быть:
$("#ship").animate({left: "500px", 5000);