Append an element with fade in effect [jQuery]

var html = "<div id='blah'>Hello stuff here</div>"


$("#mycontent").append(html).fadeIn(999);

This doesn't seem to work.

I just want a cool effect when the content gets appended.

Note: I want just the new "blah" div to fade in, not the entire "mycontent".

96504 次浏览
$(html).hide().appendTo("#mycontent").fadeIn(1000);

添加更多信息:

JQuery 实现了“方法链接”,这意味着可以对同一个元素进行方法链接调用:

$("#mycontent").append(html).fadeIn(999);

您将对方法链的目标对象(在本例中为 #mycontent)应用 fadeIn调用。不是你想要的。

在@icktofay 的(伟大的)回答中,你有:

$(html).hide().appendTo("#mycontent").fadeIn(1000);

这基本上意味着,创建 html,设置为默认隐藏,追加到 #mycontent那么淡入。现在方法链的目标是 hmtl而不是 #mycontent

这个也可以

$(Your_html).appendTo(".target").hide().fadeIn(300);

问候

因为 fadeIn 是从 hide 到 show 的转换,所以在添加“ html”元素时必须隐藏它,然后才能显示它。

var html = "<div id='blah'>Hello stuff here</div>"


$("#mycontent").append(function(){
return html.hide();
});


$('#blah').fadeIn(999);