我想显示一个div并在几秒钟后删除它。就这么简单。
所以在我的html中我得到了:<div id="msg"></div>
我有这个功能:
function showWarning(text) {
$('<div>'+text+'</div>').appendTo('#msg').hide().fadeIn('fast').delay(1000).queue(function() {
$(this).fadeOut();
});
}
我找不到任何方法来完成这项工作。 fadeOut()
被调用,但屏幕上没有任何反应。
如果我将fadeOut()
更改为hide()
,则可以正常使用。但是......如果我尝试hide(500)
,那么它将无效。
我认为这是微不足道的 - 初学者的错误 - 但我找不到它。
由于
答案 0 :(得分:3)
fadeIn()
一定不能完成运行,在使用fadeOut之前使用回调函数。
$('<div>'+text+'</div>').appendTo('#msg').hide().fadeIn('fast', function () {
$(this).fadeOut();
});
答案 1 :(得分:2)
function showWarning(text) {
$('<div />', {text: text}).fadeIn('fast', function() {
$(this).delay(1000).fadeOut(600);
}).appendTo('#msg');
}
答案 2 :(得分:1)
function showWarning(text) {
$('<div id="msgtext">' + text + '</div>').appendTo('#msg').hide().fadeIn('fast', function() {
$('#msgtext').delay(1000).fadeOut();
});
}
showWarning('hello')
答案 3 :(得分:1)
function showWarning(text) {
$('<div>').text(text).appendTo('#msg').hide().fadeTo(400,1,function(){
$(this).delay(1000).fadeOut();
});
}