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