1

jquery .animate() 関数を使用してスライドショーを作成しました。

次のコードを使用して、次のボタンをクリックするとアニメーション化する関数を呼び出しています。

$(document).ready(function() {
    $("#next").click(function(){next_slide()});
    });

正常に動作していますが、前のアニメーションが完了するまでユーザーが次のボタンをクリックできないようにしたいと考えています。

例: ユーザーが次のボタンをミリ秒単位で 10 回クリックすると、スライドショーは 10 回アニメーションを続けます。

最初のアニメーションが実行されている場合、ユーザーが 10 回でもクリックしても、関数 next_slide() は前のアニメーションの前に呼び出されません。

単に私が欲しい:

ワンクリック = next_slide() を 1 回呼び出す

ミリ秒単位の複数回のクリック = 1 回

どうすればできるのか教えてください。

コードを表示するには、http://jsfiddle.net/77NzW/2/にアクセスしてください。

よろしくお願いします

4

2 に答える 2

4

次に、フラグ変数を使用します。アニメーション中は true にします。アニメーションが完了したら、false にします。

例コード:

$(document).ready(function() {
$("#next").click(function(){
 if(flag == false)
  next_slide()}
 );
});

これは正確なコードではありません。最初に変数を宣言するなどの変更を行ってください...など

于 2013-05-24T07:02:39.967 に答える
1

var slideOver = true次または前をクリックしてブール変数を設定するだけです。その変数が設定されている場合、divをスライドさせるコードの実行を防ぎます。

フィドルを参照してください -: http://jsfiddle.net/77NzW/6/

于 2013-05-24T07:14:17.110 に答える