Ho uno snippet jquery piccolo che visualizza un messaggio di notifica nella parte superiore dello schermo in risposta alle azioni dell'utente su una pagina. La notifica viene spesso visualizzata dopo le azioni Ajax con contenuto dinamico al suo interno.Come interrompere/sovrascrivere una funzione Timeout di Jquery?
Ad esempio:
$("#mini-txt").html("Thank you!");
$("#mini").fadeIn("fast");
setTimeout(function() {$("#mini").animate({height: "hide", opacity: "hide"}, "medium");}, 3000);
La notifica funziona bene, tranne quando un utente fa due o più azioni in rapida successione, nel qual caso la funzione timeout confondere stesso e il secondo messaggio sembra venire all'interno precedenti 3000 millisecondi.
C'è un modo per "uccidere" la notifica precedente se viene eseguita una nuova azione. Non ho alcun problema con le azioni/i selettori, solo la funzione TimeOut .... o la interrompe o la sovrascrive in qualche modo. O forse c'è un'alternativa migliore per far rimanere il messaggio sullo schermo per qualche secondo prima di scomparire?
Grazie.
eseguirà la funzione di timeout dopo la cancellazione? – sbs