我需要在使用ajax调用
显示x秒后使div文本消失 你可以帮我解决这个问题吗?感谢
答案 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()。
答案 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);