如何在不止一次的情况下淡化标签?

时间:2011-11-05 00:45:36

标签: jquery label fadeout

我使用this method淡化页面上的错误标签。但是,如果遇到第二个错误,标签不会重新出现。关于如何第二次(或第三次)使用这种衰落技术的任何想法。

我的Javascript ...

function labelFade(myLabel) {
    $(myLabel).fadeOut(7000, function () {
        $(this).html("");
    });
}

function myValidator() {
    if (invalid) {
        $("#<%= myLabel.ClientID %>").html("My Error Message.");
        labelFade("#<%= myLabel.ClientID %>");
    }
}

2 个答案:

答案 0 :(得分:1)

你的代码只是淡出它,所以它不会消​​失。

淡出它:

function myValidator() {
    if (invalid) {
        var label = $("#<%= myLabel.ClientID %>");
        label.html("My Error Message.").fadeIn(function() {
            labelFade("#<%= myLabel.ClientID %>");
        }
    }
}

答案 1 :(得分:0)

更改为:

function labelFade(myLabel) {
    $(myLabel).show().fadeOut(7000);
}

在fadeOut结束时,对象设置为display: none,因此您必须再次显示该对象才能将其淡出。您不需要清除旧的HTML,因为在您设置新的HTML之前标签是隐藏的。

或者你可以用它来淡化它,然后输出:

function labelFade(myLabel) {
    $(myLabel).fadeIn(1000).fadeOut(7000);
}