我有一个函数,当我调用它时,会在一定时间内向用户显示消息(在我的例子中为5秒)。在这个“时间段”内,如果我再次调用该函数以显示另一条消息,它应该隐藏,然后重新出现新的消息并持续5秒。
但是,在我的下面代码中发生了什么,我调用该函数来显示消息。然后,假设在第4秒,我再次调用它以显示另一条消息,则新消息将仅显示1秒钟。
我需要以某种方式“重置”时间,但无法想出如何实现。尝试停止动画,检查元素是否可见并在可见时隐藏它以及许多其他操作。我认为解决方案是一个简单的链接问题,但是我无法做到这一点。因此,任何帮助都将不胜感激!
但是,在我的下面代码中发生了什么,我调用该函数来显示消息。然后,假设在第4秒,我再次调用它以显示另一条消息,则新消息将仅显示1秒钟。
我需要以某种方式“重置”时间,但无法想出如何实现。尝试停止动画,检查元素是否可见并在可见时隐藏它以及许多其他操作。我认为解决方案是一个简单的链接问题,但是我无法做到这一点。因此,任何帮助都将不胜感激!
function display_message(msgType, message) {
var elem = $('#ur_messagebox');
switch (msgType) {
case 'confirm':
elem.addClass('msg_confirm');
break;
case 'error':
elem.addClass('msg_error');
break;
}
elem.html(message);
elem.show().delay(5000).fadeOut(1000);
}
thanks in advance...