将 delay() 与 removeClass() 结合使用
Using delay() with removeClass()
如何延迟删除 jQuery 中的 css class?
这是我的代码
$(this).addClass("uk-form-danger").delay(5000).removeClass("uk-form-danger");
以上代码没有任何作用。我可以使用以下代码添加 class
$(this).addClass("uk-form-danger");
我可以用
删除它
$(this).removeClass("uk-form-danger");
但我不能推迟删除 class。
您可以使用 setTimeout 轻松完成此操作:
var myItem = $(this);
myItem.addClass("uk-form-danger");
setTimeout( function(){ myItem.removeClass("uk-form-danger"); }, 5000 );
您是否尝试过使用 setTimeout 而不是延迟?
var myObject = $(this);
myObject.addClass("uk-form-danger");
setTimeout(function()
{
myObject.removeClass("uk-form-danger");
}, 5000);
jquery delay 仅用于动画,您将无法以这种方式延迟 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);
最简单的方法是使用jQueryUI。
.delay()
仅适用于效果队列中的方法。您需要通过包含持续时间将 .addClass()
和 .removeClass()
放入默认效果队列。
$(this).addClass("uk-form-danger",
250).delay(5000).removeClass("uk-form-danger", 250);
如何延迟删除 jQuery 中的 css class?
这是我的代码
$(this).addClass("uk-form-danger").delay(5000).removeClass("uk-form-danger");
以上代码没有任何作用。我可以使用以下代码添加 class
$(this).addClass("uk-form-danger");
我可以用
删除它$(this).removeClass("uk-form-danger");
但我不能推迟删除 class。
您可以使用 setTimeout 轻松完成此操作:
var myItem = $(this);
myItem.addClass("uk-form-danger");
setTimeout( function(){ myItem.removeClass("uk-form-danger"); }, 5000 );
您是否尝试过使用 setTimeout 而不是延迟?
var myObject = $(this);
myObject.addClass("uk-form-danger");
setTimeout(function()
{
myObject.removeClass("uk-form-danger");
}, 5000);
jquery delay 仅用于动画,您将无法以这种方式延迟 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);
最简单的方法是使用jQueryUI。
.delay()
仅适用于效果队列中的方法。您需要通过包含持续时间将 .addClass()
和 .removeClass()
放入默认效果队列。
$(this).addClass("uk-form-danger", 250).delay(5000).removeClass("uk-form-danger", 250);