【问题标题】:Delay function doesn't work on .removeClass()延迟功能不适用于 .removeClass()
【发布时间】:2019-07-28 04:01:56
【问题描述】:

我正在使用 Jquery 制作自己的滑块,有 2 个按钮可以在滑块之间导航(下一个按钮)和(上一个按钮)

我在下一个按钮上创建了 on('click') 事件以在滑块上进行操作

首先,我将活动滑块设置为向左移动 -3500px,然后我想从中删除活动类,但是当我使用 removeclass 时,该类在没有动画的情况下被删除

$('.header .next-slider').on('click', function() {

$('.header .sliders .slider.active').animate({
                left:-3500
            },1000).delay(4000).removeClass('active').next().css({
                right:-3500
            }).addClass('active').animate({
                right:0
            },1000);
});

滑块在显示动画之前消失..它应该显示动画然后消失

【问题讨论】:

    标签: jquery


    【解决方案1】:

    jQuery 的延迟功能仅适用于动画。但是,您可以在动画完成后使用 setTimeout。

    $('#clickme').click(function() {
        $('#thing').animate({
            left: -3500px
        }, 1000, function() {
            setTimeout(function() {
                $('#thing').removeClass('active');
            }, 3000);
        });
    });
    

    【讨论】:

    • 非常感谢
    • @MiDo 如果这解决了您的问题,请将问题标记为已回答。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多