1

jsコードに問題があります。単純なクリック関数をアニメーション化して、divが下のdivを表示するようにしたいのですが、たとえば5秒後にアニメーション化されます。私はfadeToggleとdelayで正しい設定をしたと思いますが、「オーバークリック」防止を設定する方法がわかりません。私は人々がクリックオブジェクトを台無しにするときを意味します。

私の最初の試みはでしたstop(true,true)。期待どおりに機能しているように見えますが(それ以上の関数の実行は中止されます)、残念ながら5秒後に基になるdivが表示されますが、上の方が表示されます(画像)。

これがjsとフィドルです:

$(function() {
  $("#boxes li").on("click", function(){    
    $(this).find(".front,.back").stop(true, true).fadeToggle(800).delay(5000).fadeToggle(800); 
  });
});

だけでなく、私が何を意味するかを確認するためのjsフィドルリンク:

http://jsfiddle.net/sfiddle/bqbPL/

よろしく、

PS:最初に1回クリックして達成したい効果を確認し、次に2回クリックして、5秒後にテキストdivがどのように表示されるかを確認してください。

4

1 に答える 1

0

ちょっと改造しましたが、

ただし、まだいくつかの作業が必要です。クリックでいくつかのフラグ変数を使用できます。

更新された'fiddle`を参照してください。プロセスは処理されますが、フェードバック後に発生する次のクリックが保存されます。

更新:ダブルクリックを避けるために

フラグを作成すると、真/偽になるブール変数が作成されます。(または 0 または 1 の int 変数)、

お気に入り:

var flg=true;

ここで、フラグと呼ばれるこの変数、フラグは (要件に従って) False/True 値で開始され、イベントが発生した後にフラグを変更します (監視したいイベント、ここではボタンのクリック) イベントが発生すると、国旗。

次に、条件にフラグを追加します。if( condition == true && flag == true) {....}そのため、イベント後にフラグが false に変更された場合/イベントをクリックした場合は、再度発生しません。

これが役立つことを願っています..

于 2013-03-11T10:23:39.303 に答える