当对象跟随鼠标时,为什么javascript会出现延迟?

时间:2013-07-29 18:48:54

标签: javascript jquery jquery-ui

例如,当使用jquery ui draggable(http://jqueryui.com/draggable/)时,对象跟随鼠标而不是用鼠标移动。似乎位置上存在一个帧差异。

为什么?有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

动画追逐你的鼠标移动,因为它必须等待mousemove event

并且,当您移动鼠标指针时事件发生得相当快,但在指针实际移动后,它仍然会触发。因此,如果指针仍然处于运动状态,则框的位置始终会更新到指针所在的位置。

该事件也将受到(主要)JavaScript的单线程的限制。如果引擎忙,包括事件的先前触发,则最近的触发器必须等待引擎再次变为空闲。

并且,将这些触发器计为,jQuery还使用了缓动,因此当存在不规则间隔的帧时,盒子的位置不会奇怪地跳转

答案 1 :(得分:0)

您可以尝试构建更高效的功能,但它或多或少取决于浏览器和系统。如果您的浏览器和/或系统速度很慢,那么拖动或跟踪鼠标时会遇到延迟。

我对您提供的链接没有任何延迟。