var html = "<div id='blah'>Hello stuff here</div>"
$("#mycontent").append(html).fadeIn(999);
Це, здається, не працює.
Я просто хочу класного ефекту, коли вміст додається.
Примітка. Я хочу, щоб тільки новий "бла" дів зникав, а не весь "зміст".
var html = "<div id='blah'>Hello stuff here</div>"
$("#mycontent").append(html).fadeIn(999);
Це, здається, не працює.
Я просто хочу класного ефекту, коли вміст додається.
Примітка. Я хочу, щоб тільки новий "бла" дів зникав, а не весь "зміст".
Відповіді:
$(html).hide().appendTo("#mycontent").fadeIn(1000);
#blahсамому собі, що не схоже на те, що ти хочеш зробити (і я здогадуюсь, що це трактується як неоперація). Ви також можете просто відкинути .appendToдеталь і використовувати $('#mycontent').hide().fadeIn(1000).
Додавання трохи більше інформації:
jQuery реалізує "ланцюжок методів", що означає, що ви можете ланцюжок викликів методу на один і той же елемент. У першому випадку:
$("#mycontent").append(html).fadeIn(999);
ви будете застосовувати fadeIn виклик до об'єкта, який є цільовим ланцюжком методів, в цьому випадку #mycontent. Не те, що ти хочеш.
У чудовій відповіді @ icktoofay ви маєте:
$(html).hide().appendTo("#mycontent").fadeIn(1000);
Це в основному означає, створити html, встановити його як приховане за замовчуванням, додати його #mycontentта потім зникнути. Це мета ланцюга методів зараз hmtlзамість #mycontent.
Це також працює
$(Your_html).appendTo(".target").hide().fadeIn(300);
З повагою
оскільки fadeIn - це перехід від приховування до показу, вам доведеться приховати "html" елемент, коли ви додасте його, а потім показати.
var html = "<div id='blah'>Hello stuff here</div>"
$("#mycontent").append(function(){
return html.hide();
});
$('#blah').fadeIn(999);