javascript – jQuery延迟使用append()

前端之家收集整理的这篇文章主要介绍了javascript – jQuery延迟使用append()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不能使jQuery的延迟功能与append函数一起使用.怎么了?有没有办法让它发挥作用?我想避免直接使用setTimeout让客户更容易理解,他们将自己维护,没有任何经验.

我的代码

$('#chatwindow').append('test').delay(2000).append('test');

在这段代码中,我同时打印’testtest’,忽略延迟.

解决方法

这是因为默认情况下 delay(2000)会对fx队列进行排队,而append()从不是其中的一部分.

相反,您可以使用queue()函数专门对其上的append()进行排队.

$('#chatwindow').append('test').delay(2000).queue(function (next) {
    $(this).append('test');
    next();
});

你可以看到这个工作的一个例子; http://jsfiddle.net/mj8qC/

但是,我同意@ ascii-lime的评论;我希望客户有更多的机会理解setTimeout,因为它是JavaScript的基本组成部分,而不像delay(),它会使许多用户感到困惑(来自StackOverflow上提出的问题的经验).

FWIW,这个问题引发我写关于延迟()的使用的a blog post;它比这个答案更详细,可能会为其他人进一步阅读.

猜你在找的jQuery相关文章