为什么这会立即清空文本(忽略延迟)?
$('#error_box_text').html('error text').delay(5000).html('')
jQuery 1.4
答案 0 :(得分:31)
delay
永远不会延迟常规方法 - 只有那些被推送到动画/效果链的人。如果您想延迟html()
来电,请使用queue
(http://api.jquery.com/queue/):
$('#error_box_text').html('error text').delay(5000).queue(function() {
$(this).html('')
});
如果能做的话会很好
$('#error_box_text').html('error text').delay(5000, function() { $(this).html('') });
但这还不可能(还)。
答案 1 :(得分:1)
尝试
var sel = $('#error_box_text');
sel.html('error text');
setTimeout(function(){
sel.html('');
}, 5000);
参见 delay()
jQuery.delay()最适合延迟 排队的jQuery效果和 这样,并不是一个替代品 JavaScript的原生setTimeout 功能
答案 2 :(得分:0)
只需使用以下内容:
let r = $("#ur-div-id")
r.html(d)
setTimeout(() =>r.empty(), 4850);