1

たとえば、jquery ui draggable ( http://jqueryui.com/draggable/ ) を使用すると、オブジェクトはマウスで移動するのではなく、マウスに従います。1コマの位置の違いがあるようです。

何故ですか?これを回避する方法はありますか?

4

2 に答える 2

2

イベントを待つ必要があるため、アニメーションはマウスの動きを追いかけています。mousemove

また、マウス ポインターを移動するとイベントはかなり急速に発生しますが、ポインターが実際に移動した後もイベントは発生します。そのため、ボックスの位置は、ポインターがまだ動いている場合、ポインターがあった場所に常に更新されます。

このイベントは、(ほとんどの場合) JavaScript のシングルスレッドによっても抑制されます。イベントの以前のトリガーを含め、エンジンがビジー状態の場合、最新のトリガーは、エンジンが再びアイドル状態になるまで待機する必要があります。

そして、それらのトリガーをフレームとして数え、jQuery はイージングも採用しているため、不規則な間隔のフレームがある場合でも、ボックスの位置が奇妙に飛び回ることはありません。

于 2013-07-29T19:16:34.890 に答える
0

より効率的な機能を構築しようとすることもできますが、多かれ少なかれブラウザとシステムに依存します。ブラウザやシステムの速度が遅い場合、マウスをドラッグまたはフォローしているときにラグが発生します。

あなたが提供したリンクで遅延は発生しませんでした。

于 2013-07-29T18:57:01.310 に答える