2016-09-27 55 views
0

我曾经通过警报弹出窗口显示我的验证以及成功/失败消息,但现在我的要求是使用HTML标签文本显示相同的消息,并使它们在特定消息之后消失多少时间。我目前使用的超时功能:将警报更改为标签的最佳方法

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

这种做法是非常乱,没有办法检查报文是否成功(需要显示更长的时间),或者需要显示的错误/失败消息(为更短的时间)。任何人都可以提出一个可以在整个页面中使用的功能,也可以满足我想要的功能?

在此先感谢

回答

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); 
    } 
} 
+0

谢谢。我会试试这个 – Abhay