简体   繁体   中英

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".

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

Adding a little more info:

jQuery implements "method chaining", which means you can chain method calls on the same element. In the first case:

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

you would be applying the fadeIn call to the object which is target of the method chain, in this case #mycontent . Not what you want.

In @icktoofay's (great) answer you have:

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

This basically means, create the html , set it as hidden by default, append it to #mycontent and then fade it in. The target of the method chain now is hmtl instead of #mycontent .

This also works

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

Regards

since the fadeIn is a transition from hide to show, you'll have to hide the "html" element when you append it and then to show it.

 var html = "<div id='blah'>Hello stuff here</div>" $("#mycontent").append(function(){ return html.hide(); }); $('#blah').fadeIn(999);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM