使用jquery使div文本在5秒后消失?

时间:2009-12-15 23:42:32

标签: javascript jquery

我需要在使用ajax调用

显示x秒后使div文本消失 你可以帮我解决这个问题吗?

感谢

7 个答案:

答案 0 :(得分:30)

您可以使用empty()删除<div>内容:

setTimeout(fade_out, 5000);

function fade_out() {
  $("#mydiv").fadeOut().empty();
}

假设:

<div id="mydiv">
  ...
</div>

如果您愿意,可以使用匿名函数执行此操作:

setTimeout(function() {
  $("#mydiv").fadeOut().empty();
}, 5000);

甚至:

var fade_out = function() {
  $("#mydiv").fadeOut().empty();
}

setTimeout(fade_out, 5000);

后者有时是首选,因为它会减少对全局命名空间的污染。

答案 1 :(得分:6)

您可以尝试.delay()

$(".formSentMsg").delay(3200).fadeOut(300);

调用div设置延迟时间(以毫秒为单位)并设置要更改的属性,在这种情况下我使用.fadeOut()以便它可以设置动画,但你也可以使用.hide()。

http://api.jquery.com/delay/

答案 2 :(得分:3)

$.doTimeout( 5000, function(){ 

 // hide the div
}); 

答案 3 :(得分:1)

您需要设置类似setTimeout('$(“#id”)。fadeOut(“slow”)',5000),但除此之外,它取决于代码的其余部分是什么样的

答案 4 :(得分:1)

这应该有效:

$(document).ready(function() { 
    $.doTimeout(5000, function() { 
        $('#mydiv').fadeOut(); 
    }); 
});

答案 5 :(得分:0)

您可能需要在消失之后再次显示div文本。 这可以在一行完成。

$('#div_id').empty().show().html(message).delay(3000).fadeOut(300);

答案 6 :(得分:0)

此答案没有jQuery,您只需抓住元素并知道其索引位置即可。然后在下面的div中使用它。我将是您的div在dom中的索引号。

const div = document.querySelectorAll('div');
setTimeout(() => {
    div[i].textContent = '';
}, 3000);