【发布时间】:2010-11-26 19:44:33
【问题描述】:
实际上,我根本无法正常工作。到目前为止我所做的工作,但我想淡入一条消息,然后淡出它。在它淡出之后,我想完全删除 div。
谁能告诉我这里缺少什么?
var div = $('<div>').attr('id', 'error').html('Cannot Be Blank');
$('body').append(div);
【问题讨论】:
标签: jquery
实际上,我根本无法正常工作。到目前为止我所做的工作,但我想淡入一条消息,然后淡出它。在它淡出之后,我想完全删除 div。
谁能告诉我这里缺少什么?
var div = $('<div>').attr('id', 'error').html('Cannot Be Blank');
$('body').append(div);
【问题讨论】:
标签: jquery
var div = $('<div />').attr('id', 'error')
.html('Cannot Be Blank')
.hide();
$('body').append(div);
$("#error").fadeIn("slow", function() {
$(this).fadeOut("slow", function() {
$(this).remove();
});
});
演示:http://jsfiddle.net/karim79/wpxCk/
为了确保淡出发生在淡入之后,它应该在淡入的回调中触发。同样,错误 div 的删除应该在fadeOut 的回调中进行。见:
【讨论】:
因此,您需要的 jQuery 函数如下:
1) .fadeIn( [ 持续时间 ], [ 回调 ] )
2) .fadeOut( [ 持续时间 ], [ 回调 ] )
3) .remove([选择器])
意味着您可以按这样的顺序嵌套它们,将它们作为回调放置。
errordiv = $("#error");
$(errordiv).fadeIn("slow", function(){
$(errordiv).fadeOut("slow", function() {
$(errordiv).remove();
})
});
【讨论】:
$(div).fadeOut('slow', function() {
// Animation complete.
});
$(div).remove();
在你当前的代码之后添加这个:)
【讨论】:
你可以这样做:
$('<div>').attr('id', 'error').html('Cannot Be Blank').appendTo('body')
.hide().fadeIn().fadeOut(function() { $(this).remove(); });
不过,您可能希望在此处使用一个类进行样式设置...除非它需要一个 ID,否则您可以不使用它,在 jQuery 的更高版本中,将其缩短为:
$('<div>', { html: 'Cannot Be Blank' }).appendTo('body')
.hide().fadeIn().fadeOut(function() { $(this).remove(); });
【讨论】: