jQuery:slideUp.delay.slideDown - 使用按钮取消?

发布于 2024-11-26 04:38:09 字数 620 浏览 1 评论 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 秒更快的速度关闭栏。然而,更接近的方法不起作用。控制台显示“成功触发”,但盒子没有 slipUp()。 hide() 确实有效! fadeOut() 和 SlideUp() 则不然。

知道为什么吗?

i don't get why this won't work.

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

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

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

So I call the function notificationBoxOutput to have kind of statusbar on top of the screen that gives some feedback. The bar slidesDown, holds 2,5 secs and then slides up.

The bar itself contains a little closer-icon that fires notificationBoxCancel on click. So the user has the possibility to close the the bar even faster then 2.5 secs. However the closer doesn't work. The console says "successfully fired", but the box doesn't slideUp(). hide() does work! fadeOut() and slideUp() doesn't.

Any idea why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初懵 2024-12-03 04:38:09

您应该在向上滑动之前 .stop() 动画。尝试这样的事情:

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

You should .stop() animations before you slide(them)Up. Try something like this:

function notificationBoxCancel() {
        console.log('successfully fired');
    $('.notificationBox').stop().slideUp();
}
得不到的就毁灭 2024-12-03 04:38:09

我认为这是因为动画已排队。尝试在 slideUp 之前调用 stop

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

I think it's because animations are queued. Try to call stop before slideUp:

function notificationBoxCancel() {
        console.log('successfully fired');
    $('.notificationBox').stop(true,true).slideUp();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文