向jquery脚本添加延迟

时间:2017-09-27 03:35:32

标签: jquery

我想在以下代码中添加2秒的延迟:

if (length < 20 & warningContainer.is(\':empty\')){
warningContainer.html(minLengthMessage);
el.addClass(\'input-error\');
}

我该怎么做?

我试过了:

warningContainer.delay(2000).html(minLengthMessage);

PS:我不知道如何编写JQuery代码

谢谢

2 个答案:

答案 0 :(得分:4)

当你调用delay(2000)时,你实际在做的是调用delay(2000,“fx”),因为函数有一个可选的第二个参数(你希望延迟操作的队列名),默认为fx 。各种效果方法(fadeOut(),animate()等)都使用此队列,这就是delay()对它们产生影响的原因。

我认为你可以使用

setTimeout(function(){
    // add your code
}, 2000);

https://www.mattlunn.me.uk/blog/2012/06/jquery-delay-not-working-for-you/

答案 1 :(得分:2)

我不确定.delay如何在jQuery中工作,但你可以用旧的JS方式做到这一点。

setTimeout(function() {
    warningContainer.delay(2000).html(minLengthMessage);
}, 2000);