我让我的对象使用 onmousemove 事件跟踪鼠标。但我想让它顺利。我确信这在 jQuery 中并不困难,但我没有找到任何真正好的资源。
我的一个想法是简单地使用 animate 函数并计算我想要移动到的偏移量。然后如果鼠标在动画完成之前再次移动,我会使用停止功能来停止动画。我会重新计算我的目的地,然后再次离开。这似乎有点 hack-ish,我也认为它会有点生涩。我相信一定有更好的方法。有什么想法吗?
编辑
对不起,我没有把我的问题说得很清楚。我让对象实时跟踪鼠标,使其移动与我的鼠标完全相同。问题是我希望它像下面提到的林德这样的加速效果是平滑和滞后的。我只是有点不知道如何实际实现它。
最佳答案
恐怕没有比动画更好的方法了。如果您添加一个平滑函数,那么您只需做与 animate 相同的事情。确保不要对您的动画进行排队,否则它们看起来会很奇怪。我得到了不错的结果:
var obj = $('<div style="width:50px;height:50px;background:red;position:absolute"></div>');
obj.appendTo(document.body);
$(document).bind('mousemove',function(ev){
obj.animate({top:ev.pageY,left:ev.pageX},{queue:false,duration:200,easing:'linear'})});
关于javascript - jQuery 流畅的鼠标跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467950/