JQuery延迟()不延迟
为什么这会立即清空文本(忽略延迟)?
$('#error_box_text').html('error text').delay(5000).html('')
#
jQuery 1.4
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('') });
但这还不可能(还)。
尝试
var sel = $('#error_box_text'); sel.html('error text'); setTimeout(function(){ sel.html(''); }, 5000);
见延迟()
jQuery.delay()最适合在排队的jQuery效果之间延迟,并且不能替代JavaScript的本机setTimeout函数