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 秒的速度关闭栏。然而,关闭器不起作用。控制台显示“成功触发”,但该框不滑动()。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 回答