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

Best way to change messages from alert to labels

本文关键字:标签 最佳 方法 消息      更新时间:2023-09-26

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

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

这种方法非常混乱,没有办法检查消息是成功消息(需要显示更长时间)还是错误/失败消息(需要显示更短时间)。谁能建议一个功能,可以在整个页面中使用,也满足我想要的要求?

Thanks in advance

有添加的类吗?

您没有展示如何在#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);
    }
}