这是我的做法:
$.msg = function(text, style)
{
style = style || 'notice'; //<== default style if it's not set
//create message and show it
$('<div>')
.attr('class', style)
.html(text)
.fadeIn('fast')
.insertBefore($('#page-content')) //<== wherever you want it to show
.animate({opacity: 1.0}, 3000) //<== wait 3 sec before fading out
.fadeOut('slow', function()
{
$(this).remove();
});
};
例子:
$.msg('hello world');
$.msg('it worked','success');
$.msg('there was a problem','error');
这个怎么运作
- 创建一个 div 元素
- 设置样式(因此您可以更改外观)
- 设置要显示的 html
- 开始在消息中淡出,因此可见
- 将消息插入您想要的位置
- 等待 3 秒
- 淡出消息
- 从 DOM 中删除 div —— 没有混乱!
奖励示例消息样式:
.notice, .success, .error {padding:0.8em;margin:0.77em 0.77em 0 0.77em;border-width:2px;border-style:solid;}
.notice {background-color:#FFF6BF;color:#514721;border-color:#FFD324;}
.success {background-color:#E6EFC2;color:#264409;border-color:#C6D880;}
.error {background-color:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
.error a {color:#8a1f11;}
.notice a {color:#514721;}
.success a {color:#264409;}
```