var messageSpan;
function createFlashMessage = function(message, type, time) {
messageSpan || (messageSpan = $("<span>").hide().appendTo("body"));
messageSpan && (messageSpan.stop().removeClass().addClass("message-mask label"));
messageSpan.html(message).addClass("label-" + (type || "success"));
var left = Math.abs($(document).width()/2 - (messageSpan.width() + 30)/2);
messageSpan.css({
left: left + 'px'
}).fadeIn(200, function() {
$(this).delay(time || 5000).fadeOut();
});
};
它的工作過程中再次呼籲,但不是我所期望的動畫。jQuery的動畫(如何處理時,它正在運行
第一次調用這個函數是正常的,但是當你調用它時,它正在運行,你會發現消息跨度將fadeOut(使用新消息)並再次淡入。
這不是我想要的,我只是希望如果在運行時調用它,只需將文本替換爲新消息,並重新計算時間(新的5s)。
如何解決?
看來這與jquery動畫定時器機制有關,任何人都可以幫我一個忙嗎?
而不是messageSpan使用一些簡稱 – 2012-06-18 06:20:12