Jquery:为什么延迟不起作用?

时间:2012-11-30 09:44:26

标签: jquery

我添加了延迟,但它无效...

<div id="sum"></div>рублей​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
$('#sum').html('3000').delay(3000).html('5000');

http://jsfiddle.net/Jv8g6/

为什么延迟不起作用?

2 个答案:

答案 0 :(得分:3)

delay()仅影响动画队列,html()不使用该队列。

但是,您可以调用queue()并从其回调函数中调用html()以达到您想要的效果:

$("#sum").html("3000").delay(3000).queue(function() {
    $(this).html("5000").dequeue();
});

您会找到更新的小提琴here

答案 1 :(得分:2)

delay()适用于存储在队列中的操作 - 例如动画。 html()不使用队列,因此上面的代码没有按预期运行。

对于非排队操作,您需要使用setTimeout()来延迟执行。试试这个:

$('#sum').html('3000');
setTimeout(function() {
    $('#sum').html('5000');
}, 3000);