Using delay() with removeClass()



如何延迟移除jQuery中的css类?

我的代码

$(this).addClass("uk-form-danger").delay(5000).removeClass("uk-form-danger");

上面的代码什么也不做。我可以用下面的代码

添加类
$(this).addClass("uk-form-danger");
我可以用 删除它
$(this).removeClass("uk-form-danger");

但是我不能推迟撤班。

您可以通过setTimeout:

轻松完成此操作。
var myItem = $(this);
myItem.addClass("uk-form-danger");
setTimeout( function(){ myItem.removeClass("uk-form-danger"); }, 5000 );

jquery延迟只用于动画,你将无法延迟removeClass,使用setTimeout代替:

var $el = $('#myId');
$el .addClass("uk-form-danger")
setTimeout(function(){
    $el .removeClass("uk-form-danger");
}, 5000);

尝试使用setTimeout

var self = $(this);
self.addClass('uk-form-danger');
setTimeout(function () {
    self.removeClass('uk-form-danger');
}, 5000);

你试过使用setTimeout而不是delay吗?

var myObject = $(this);
myObject.addClass("uk-form-danger");
setTimeout(function()
{
    myObject.removeClass("uk-form-danger");
}, 5000);

最简单的方法是使用jQueryUI。

.delay()仅适用于效果队列中的方法。您需要通过包含持续时间将.addClass().removeClass()放入默认效果队列。

(美元).addClass("uk-form-danger",250年) .delay (5000) .removeClass("uk-form-danger", 250 );

最新更新