addClass 一段时间,然后使用 javascript 删除它

addClass for some moments and the remove it using javascript

我想将 class 添加到 div 并稍后将其删除。我使用了 setTimeout 但我真的不知道我是否正确。第一部分,我的意思是 addClass 完美运行,直到我在 setTimeout 方法中添加 removeClass 。所以,这是我的代码:

$.ajax({
        url: "<?php echo site_url('main/order') ?>",
        type: 'POST',
        data: form_data, // $(this).serialize(); you can use this too
        dataType: 'json',
        success: function(res) {
            if(res) {
                classie.addClass( theForm.querySelector( '.simform-inner' ), 'hide' );
                var messageEl = theForm.querySelector( '.final-message' );
                messageEl.innerHTML = res;
                classie.addClass( messageEl, 'show' );

                setTimeout(classie.removeClass( messageEl, 'show' ), 5000);
                setTimeout(classie.removeClass( theForm.querySelector( '.simform-inner' ), 'hide' ), 6000);

            }
        }

   });

我做错了什么?!

将您的 setTimeout 更改为:

setTimeout(function(){
    classie.removeClass( messageEl, 'show' )
}, 5000);
setTimeout(function(){
    classie.removeClass( theForm.querySelector( '.simform-inner' ), 'hide' )
}, 6000);

您需要将一个函数传递给 setTimeout(),并且在您的代码中您调用了一个函数并传递了结果,而不是传递函数本身。