var mark2=true;
$(".right").click(function(){
関数移動(obj){
リーリー$(".right") をクリックして移動関数を実行します。主に obj 要素にアニメーションを追加します。$(".right") のクリックが速すぎてアニメーションと重なるのを防ぐために、mark2 を使用してそれを制御します。アニメーションの実行が完了すると、つまり、マークは 500 ミリ秒後に true になります。$(".right") をクリックして実行します。そうでない場合は実行されません。しかし、質問があります。つまり、クリックしたときです。 if文で速度が500ミリ秒以上の場合 マークが実行される機会がなく、再度クリックされるということは、常にアニメーションが重畳されるということではないでしょうか?マークは常に true なので、プログラムは正常に実行できるので、私の理解が間違っているようです。プログラムの実行プロセスについて誰かが私に指導してくれることを願っています
問題の核心はクリック速度が500ミリ秒を超えていることであると理解しています。これは真実であり、同じ要素で
mousedown mouseup
事件后才会触发click
イベントが次々にトリガーされるだけです。 move() は、クリックイベントがトリガーされた後にのみ実行されますしたがって、あなたが考えているタイムアウト状況は起こりません。
可変制御を使いたい場合はマーク2を一番上に移動すると分かりやすくなります。プロセスは次のようになります:
次の場合:
右クリック -----》非同期アニメーションを実行-----》mark2 = false ----(0.5 秒後)----》mark2 = true;
どのようにクリックしても、それが 0.5 秒より長くても 0.5 秒未満であっても、アニメーションの実行が終了し、マーク 2 が true でない限り、if 条件はまったく入りません