0

次のようなコードがあると、問題が発生します。

  $("#clickme").click(function () {
  $("#status").fadeIn(250).delay(2500).fadeOut(250);
   });

これは、ユーザーが情報を正常に保存した後に表示されます。問題は、#clickme ボタンを複数回 (高速に) クリックすると、アニメーションがある種のキューに入り、次々と実行されることです。それは悪いことです。ユーザーがボタンを複数回クリックすると、前のアニメーションが停止し、新しいアニメーションが最初から開始されるようなものが欲しいです。

また、#status が現在表示されていて、ユーザーがもう一度クリックすると、ステータスが消え、新しいアニメーションが最初からやり直されます。

誰でも私に指示を与えることができますか?私は何日もこれを解決しようとしてきました。

ここでフィドル

4

3 に答える 3

1

.clreaQueue(); を使用してみてください。これはあなたのために働くでしょう

$("#clickme").click(function () {
     $("#status").clearQueue();
     $("#status").fadeIn(250).delay(2500).fadeOut(250);
   });

ここを参照

于 2013-03-29T09:52:51.333 に答える
1

ステータスがまだアニメーション化されていないことを確認する必要があります。

$("#clickme").click(function () {
  var $status = $("#status");
  $status.stop(true).hide();
  $status.fadeIn(250).delay(2500).fadeOut(250);
});
于 2013-03-29T09:54:36.827 に答える
0

次のように.stopメソッドを使用できます。

$("#status").stop(true).fadeIn(250).delay(2500).fadeOut(250);

Fiddleでは、動作します。(trueパラメータ付き)

[編集] (多くのステータスを追加)
このフィドルはあなたが試みていることをしますか?

于 2013-03-29T09:54:50.580 に答える