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();
});
};
それは機能しましたが、私が期待するものではありません。
この関数を初めて呼び出すのは正常ですが、実行中に呼び出すと、メッセージスパンが(新しいメッセージで)fadeOutになり、再びfadeInになります。
これは私が望んでいることではありません。実行中に呼び出された場合は、テキストを新しいメッセージに置き換えて、時間を再計算します(新しい5秒)。
それを修正する方法は?
これはjqueryアニメーションタイマーメカニズムに関連しているようですが、誰か私にお願いできますか?