追加淡化效果的元素[jQuery]

TIM*_*MEX 116 html javascript css jquery

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

$("#mycontent").append(html).fadeIn(999);
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.

当内容被追加时,我只想要一个很酷的效果.

注意:我想要新的"blah"div淡入,而不是整个"mycontent".

ick*_*fay 254

$(html).hide().appendTo("#mycontent").fadeIn(1000);
Run Code Online (Sandbox Code Playgroud)

  • @qwertymk:没有真正的理由.如果浏览器在DOM仍在被操作时进行渲染(据我所知,目前还没有浏览器这样做),在内容开始淡入之前就不会有任何内容闪现.再次,并不重要. (2认同)

Pab*_*dez 51

添加更多信息:

jQuery实现了"方法链",这意味着你可以在同一个元素上链接方法调用.在第一种情况下:

$("#mycontent").append(html).fadeIn(999);
Run Code Online (Sandbox Code Playgroud)

fadeIn在这种情况下,您将把调用应用于方法链的目标对象#mycontent.不是你想要的.

在@ icktoofay(伟大的)答案中你有:

$(html).hide().appendTo("#mycontent").fadeIn(1000);
Run Code Online (Sandbox Code Playgroud)

这基本上意味着,创建html,将其设置为默认隐藏,将其追加到#mycontent然后褪色它英寸方法链的目标现在是hmtl代替#mycontent.


Moh*_*kib 17

这也有效

$(Your_html).appendTo(".target").hide().fadeIn(300);
Run Code Online (Sandbox Code Playgroud)

问候