2

これが私の現在のコードです。それは機能しますが、別のイベントを実行するとき (たとえば、ボタンをクリックすることによって)、フェードアウトを停止してリセットする必要があります。

コード

$('#selector').delay(5000).fadeOut('slow');
  • ?の代わりにanimateorを使用する必要があることを読みました。setTimeOutdelay
  • これを行う最善の方法は何ですか?

私の場合、画面の上部にステータスバーがあり、ステータスバーを更新するものをクリックしても消えません。

4

3 に答える 3

3

タイマーをリセットする

これは、タイマーを設定する前に呼び出されます。狂ったようにクリックすると、タイマーが終了しなくなります。タイマーを停止してリセットします。

clearTimeout(my_timer);

タイマーを設定する

my_timer = setTimeout(function () {
    $('#selector').fadeOut('slow');
}, 5000);
于 2013-01-11T12:39:52.093 に答える
2

フェージング要素のメソッドを呼び出すだけ.stop()です:(#selector2フェードを停止するボタンです)

$('#selector2').click(
    function()
    {
        $('#selector').stop();
    }
);
于 2013-01-11T08:03:22.990 に答える
0

関数 clearQueue() を参照して ください https://api.jquery.com/clearQueue/

于 2015-05-18T14:58:37.000 に答える