在jquery中几秒钟后内容重置和自动隐藏元素

时间:2015-10-23 03:00:11

标签: javascript jquery

我有这样的DIV:

<div id="message">This is my message</div>

ajax

填充的邮件
$('#message').append(json.message);
$('#message').show();

现在我需要在5秒后隐藏此DIV。当隐藏时,我需要删除此#message DIV的所有内容。

我的问题是我可以隐藏此div,但我无法重置div内容。

这是我用来隐藏div的方式

$('#message').delay(5000).fadeOut('slow');

希望有人可以帮助我。 谢谢。

2 个答案:

答案 0 :(得分:2)

您可以将回调传递给jQuery fadeOut函数,该函数将在动画完成时运行。在这种情况下,我们将html设置为空。

setTimeout(function(){
    $('#message').fadeOut('slow', function(){
         $(this).html(""); 
    });
}, 5000);

编辑:

或者,如果您更喜欢使用目前的延迟功能:

$('#message').delay(5000).fadeOut('slow', function(){
    $(this).html(""); 
});

答案 1 :(得分:0)

将此添加到您的代码中:

$('#message').html("This is my message");

<强>更新

var message = $('#message');
message.append(" .. some JSON data added");
message.show();
var intv = setInterval(showing, 5000);
function showing(){
    message.fadeOut('slow');
    clearInterval(intv);
    message.html("This is my message");
}

JSFiddle