Comment faire pour démarrer/arrêter/redémarrer jQuery animation

J'ai la fonction suivante que lorsque j'appelle affiche un message à l'utilisateur pour un certain laps de temps (5 secondes dans mon cas). Pendant cette "période" si j'appelle la fonction pour afficher un autre message, en pratique, il devrait se cacher, puis de le ré-apparaître avec le nouveau message pour un autre 5 secondes.

Ce qui se passe avec mon code ci-dessous, j'ai appeler la fonction pour afficher le message. Alors, disons que sur le 4e de la deuxième, j'appelle de nouveau pour afficher un autre message, le message est affiché pendant 1 seconde.

J'ai besoin de quelque sorte -reset - temps, mais ne peut pas comprendre comment. Essayé d'arrêter l'animation, de vérifier si l'élément est visible et le cacher si elle a été, et beaucoup d'autres choses. Je crois que la solution est simple chaînage de la question, mais ne peut pas obtenir de droit. De sorte que toute aide serait appréciée!

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

merci d'avance...

OriginalL'auteur Kemal Emin | 2010-05-21