2

我添加了延迟,但它不起作用......

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

http://jsfiddle.net/Jv8g6/

为什么延迟不起作用?

4

2 回答 2

3

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

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

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

你会在这里找到一个更新的小提琴。

于 2012-11-30T09:49:04.467 回答
2

delay()适用于存储在队列中的动作 - 例如动画。html()不使用队列,因此上面的代码不会像您预期的那样运行。

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

$('#sum').html('3000');
setTimeout(function() {
    $('#sum').html('5000');
}, 3000);
于 2012-11-30T09:48:26.787 回答