将消息从警报更改为标签的最佳方法

时间:2016-09-27 15:09:01

标签: javascript jquery

我曾经通过提示弹出窗口显示我的验证以及成功/失败消息,但现在我的要求是使用HTML标签文本显示相同的内容并使它们在特定时间后消失。我目前正在使用超时功能:

if ($("#lblErrorMessage").text() != "") {
    clrMsg = setTimeout(function(e) {
        $("#lblErrorMessage").text("");
        clearTimeout(clrMsg);
    }, 5000);
}

这种方法非常混乱,无法检查消息是否成功(需要显示更长时间)或错误/失败消息(需要显示更短的时间)。任何人都可以建议一个可以在整个页面中使用并满足我想要的功能吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

增加了课程?

您没有在#lblErrorMessage ...中显示如何添加消息 但我想你也可以为它添加一个类,如“成功”或“失败”。

$("#lblErrorMessage").text("Some success messsage to user.").addClass("success");
removeMessage();

$("#lblErrorMessage").text("Some error messsage to user.").addClass("fail");
removeMessage();

然后,这是新的setTimeout函数:

function removeMessage(){
    if ($("#lblErrorMessage").text() != "") {
        if $("#lblErrorMessage").hasClass("success"){
            clrDelay = 5000;
        }
        else if $("#lblErrorMessage").hasClass("fail"){
            clrDelay = 2500;
        } 
        clrMsg = setTimeout(function(e) {
            $("#lblErrorMessage").text("");
            //clearTimeout(clrMsg);     // No use for that.
            $("#lblErrorMessage").removeClass("success fail");    // Remove classes for future messages.
        }, clrDelay);
    }
}