0

なぜこれがうまくいかないのかわかりません。

function notificationBoxOutput(type, message) {
    var noteBox = $('.notificationBox');

    noteBox.slideDown( function() {
        noteBox.delay(2500).slideUp();
    });
}

function notificationBoxCancel() {
        console.log('successfully fired');
    $('.notificationBox').slideUp();
}

そのため、関数を呼び出してnotificationBoxOutput、画面の上部にフィードバックを提供する一種のステータスバーを表示します。バーは下にスライドし、2.5 秒保持した後、上にスライドします。

バー自体には、クリックすると起動する少し近いアイコンが含まれていnotificationBoxCancelます。したがって、ユーザーは 2.5 秒よりも速くバーを閉じることができます。ただし、クローザーは機能しません。コンソールには「正常に起動されました」と表示されますが、ボックスは slideUp() しません。hide() はうまくいきます!fadeOut() と slideUp() はそうではありません。

理由はありますか?

4

2 に答える 2

2

.stop()上にスライドする前にアニメーションを使用する必要があります。次のようなことを試してください:

function notificationBoxCancel() {
        console.log('successfully fired');
    $('.notificationBox').stop().slideUp();
}
于 2011-07-26T08:07:24.443 に答える
0

アニメーションがキューに入れられているからだと思います。stop前に電話してみてくださいslideUp

function notificationBoxCancel() {
        console.log('successfully fired');
    $('.notificationBox').stop(true,true).slideUp();
}
于 2011-07-26T08:08:34.403 に答える