例如,当使用jquery ui draggable(http://jqueryui.com/draggable/)时,对象跟随鼠标而不是用鼠标移动。似乎位置上存在一个帧差异。
为什么?有办法解决这个问题吗?
答案 0 :(得分:2)
动画追逐你的鼠标移动,因为它必须等待mousemove
event。
并且,当您移动鼠标指针时事件发生得相当快,但在指针实际移动后,它仍然会触发。因此,如果指针仍然处于运动状态,则框的位置始终会更新到指针所在的位置。
该事件也将受到(主要)JavaScript的单线程的限制。如果引擎忙,包括事件的先前触发,则最近的触发器必须等待引擎再次变为空闲。
并且,将这些触发器计为帧,jQuery还使用了缓动,因此当存在不规则间隔的帧时,盒子的位置不会奇怪地跳转
答案 1 :(得分:0)
您可以尝试构建更高效的功能,但它或多或少取决于浏览器和系统。如果您的浏览器和/或系统速度很慢,那么拖动或跟踪鼠标时会遇到延迟。
我对您提供的链接没有任何延迟。