<div id="message" style="display: none">
<!-- Here I want to place a message. It should be visible for 3 seconds.Then clear the div to get ready for the next message. -->
</div>
如何使用JQuery执行以下操作?
1.将消息插入到id为“message”的div中,并使div可见。 2.使消息可见3秒钟。 3.删除div“message”的内容。 4.隐藏div,然后在必要时从步骤1开始。
提前谢谢。
答案 0 :(得分:9)
我是这样做的:
$.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');
工作原理
奖励示例邮件样式:
.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;}
```
答案 1 :(得分:5)
您可以这样做:
var $messageDiv = $('#message'); // get the reference of the div
$messageDiv.show().html('message here'); // show and set the message
setTimeout(function(){ $messageDiv.hide().html('');}, 3000); // 3 seconds later, hide
// and clear the message
答案 2 :(得分:1)
这是一个小脚本,以3秒的间隔循环显示消息。也许这不是你需要的,但我希望它可以帮助你实现你想要的东西。
var messages = [
"test message 0",
"test message 1",
"test message 2",
"test message 3"
];
$(function() {
var msgIndex = 0;
setInterval(function() {
$msgDiv = $("#message");
$msgDiv.fadeOut(200, function() {
$msgDiv.html(messages[msgIndex]).fadeIn(500);
if(msgIndex >= messages.length)
msgIndex = msgIndex % messages.length;
});
}, 3000);
});
答案 3 :(得分:0)
看看jGrowl。非常好,可配置。