jQuery可以多次使用.fadeTo()吗?

时间:2012-05-13 11:21:38

标签: javascript jquery html

我正在尝试编写一个脚本,以便每次按下特定按钮时,我都想在div标签中发出警告消息。我决定使用fadeTo,因为我的div标签位于表格中,我不希望它崩溃。然而,似乎在第一次印刷之后,任何后续的印刷机将不再起作用。有没有人知道这个的解决方法?

这是我的警告代码:

$("#warning").html("The value is too low!").css('color','red').fadeTo(10000,0);

3 个答案:

答案 0 :(得分:4)

fadeTo的末尾,元素的不透明度为0。要重新开始,请将不透明度重置为100,否则它会尝试从0动画到0,这至少可以说是微妙的。 : - )

E.g:

$("#warning")
    .html("The value is too low!")
    .stop()            // <=== New bit: Stop the animation if it's running
    .css({
      'opacity': 1,    // <=== New bit: Reset the opacity
      'color': 'red'
    })
    .fadeTo(10000,0);

Live example | source(使用一秒而不是十秒)

答案 1 :(得分:1)

您必须再次显示div:

$("#warning").show().html("The value is too low!").css('color','red').fadeTo(10000,0);

答案 2 :(得分:1)

另一种方法是使用不透明度动画:

$("#warning").html("The value is too low!").css({
    color : 'red',
    opacity : 1
}).stop().animate({
    opacity : 0
}, 1000);

DEMO: http://jsfiddle.net/SDWmn/1/