我有以下代码,我试图在click事件上设置div动画,但由于某种原因div正在移动到该位置并且它没有动画到指定的坐标,我在这里做错了什么?代码:
$(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); }); });
任何建议都会有所帮助!!
答案 0 :(得分:2)
你是在误导animate
。
将其更改为
$("#ship").animate({ left: leftOfShip }, 5000);
答案 1 :(得分:0)
我认为animate函数仅适用于“number”参数。
以下内容:
$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000);
应该是:
$("#ship").animate({left: "500px", 5000);
答案 2 :(得分:0)
问题在于你的动画电话:
$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000);
需要成为:
$("#ship").animate({left: leftOfShip}), 5000);
你可以在一个非常简单的模拟中使用http://www.jsfiddle.net/7yNM4/的一些代码。