Javascript 将延迟与HTML或文本设置一起使用不会';行不通

Javascript 将延迟与HTML或文本设置一起使用不会';行不通,javascript,jquery,Javascript,Jquery,我对这里使用HTML函数的延迟函数有一个奇怪的问题 我使用$('#element').HTML('Hello World')设置HTML文本 设置文本后,我想让文本在3秒内消失 下一行我写道: $('#element').delay( 3000).html( '&nbsp'); 这一个不起作用,它将HTML设置为,而不等待3秒钟,看起来jQuery正在跳过延迟函数。例如,将其与淡出一起使用效果很好。我想这与排队延迟有关 但是为什么这不起作用呢。这非常简单,等待3秒钟,然后运行HTML函

我对这里使用HTML函数的延迟函数有一个奇怪的问题

我使用
$('#element').HTML('Hello World')设置HTML文本

设置文本后,我想让文本在3秒内消失

下一行我写道:

$('#element').delay( 3000).html( '&nbsp');
这一个不起作用,它将HTML设置为
,而不等待3秒钟,看起来jQuery正在跳过延迟函数。例如,将其与淡出一起使用效果很好。我想这与排队延迟有关

但是为什么这不起作用呢。这非常简单,等待3秒钟,然后运行HTML函数。

不是排队函数。如果希望它在动画队列中按顺序发生,则必须自己进行,如下所示:

$('#element').delay(3000).queue(function(n) { 
  $(this).html('&nbsp'); n();
});
如果您没有链接动画或类似的内容,请直接使用or(根据具体情况而定),它是for,并且在不需要时没有理由使用额外的代码/复杂性。

不是排队函数。如果希望它在动画队列中按顺序发生,则必须自己进行,如下所示:

$('#element').delay(3000).queue(function(n) { 
  $(this).html('&nbsp'); n();
});
如果您没有链接动画或类似的内容,请直接使用或(视情况而定),用于,并且没有理由在不需要时使用额外的代码/复杂性。

delay()默认为动画队列,用于淡出()等效果。您应该改为使用setTimeout():

发件人:

delay()最适合在排队的jQuery效果之间进行延迟,而不是替代JavaScript的本机函数,后者可能更适合某些用例

delay()默认为动画队列,用于淡出()等效果。应改用setTimeout():

发件人:

delay()最适合在排队的jQuery效果之间进行延迟,而不是替代JavaScript的本机函数,后者可能更适合某些用例


更准确地说,
.delay()
适用于任何队列,它只是默认为动画队列:)感谢这一个正在工作。还有一个问题:这是否适用于所有浏览器?我不确定window.setTimeout是否能在所有IE和FF版本中工作。@NovumCoder:window.setTimeout()可以追溯到JavaScript 1.0,并被IE在IE 5中采用(我想)。我还没有发现一个没有实现它的浏览器,现在它是建议的一部分,更准确地说,
.delay()
适用于任何队列,它只是默认为动画队列:)谢谢这个现在可以工作了。还有一个问题:这是否适用于所有浏览器?我不确定window.setTimeout是否能在所有IE和FF版本中工作。@NovumCoder:window.setTimeout()可以追溯到JavaScript 1.0,并被IE在IE 5中采用(我想)。我还没有发现一款没有实现它的浏览器,现在它已经成为了提议中的一部分