延迟功能不适用于.removeClass()

时间:2019-07-28 04:01:56

标签: jquery

我正在使用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);
});

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

1 个答案:

答案 0 :(得分:1)

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

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