jQueryでカルーセル型のアニメーションをプログラミングするという奇妙な問題があります。私はあなたがリンクをクリックすると、divをアニメーション化するようにします。アニメーション中にリンクをクリックできないようにするために、私はリンクがアニメーションにバインドするバインド条件を設定しましたが、アニメーション中はアンバインドされてから最後にバインドされます。最高のフィドルは:http://jsfiddle.net/aRrmD/1/を示しています。jqueryの関数からアンバインドされたときにfalseを返します。
これはすべてFiddlrでうまく機能します。しかし、実際のWebページに挿入すると、すぐにリンクを2回クリックするとうまくいきません。最初のクリックでアニメーションがトリガーされますが、リンクがバインドされていないため2回目のクリックでページがリロードされますアニメーション中のアニメーション機能です。そのため、リンクのデフォルト動作が開始され、アニメーションが完了してその機能が再びバインドされるまで標準リンクになります。したがって、リンクをダブルクリックすると、2回目のクリックでページがリロードされます。なぜFiddlrでこれをやっていないのか分かりませんが、それはイベントがそのシステムでどのように動作してスタンドアローンのページと異なるのかとは関係があります。
私ができるようにしたいのは、リンクがバインドされていない(つまり、アニメーション中に)リンクがデフォルトのデフォルトの動作をしないようにすることです。私はアンカーをアンカーではなく、これを回避することができることを知っていますが、これは残念ながら私にそれを支配しない広いシステムの一部です。任意のポインタの人々のための
おかげで...
また、イベントハンドラのバインド/バインド解除よりも高速です – pomeh
ありがとうございました - 私は 'アニメーション'擬似セレクタについて知りませんでした。これがパフォーマンス面でどのようになるか知っていますか?最終的には、「カルーセル」要素内にかなり大きなDOMツリーが存在する可能性があるため、できるだけ効率的になるようにしようとしています。 – Dan
@ダン:どのように ':animated'が動作するのか分かりませんが、どのような場合でもパフォーマンスをテストする必要があります。バインドを解除しバインドする代わりにステータスを示すフラグを使用することもできます。多くの方法があります。 –