li
リストに追加された後、いくつかの要素でフェードインするのに問題があります。
varhtmlにはリストアイテムが含まれています。
$(html).hide().appendTo('#thelist').fadeIn();
フェードインは、単一のli要素がロードされている場合に機能しますが、複数のliがある場合、jQueryはフェードインはもちろん何も挿入しません。
誰かが修正を提案できますか?
編集1:
例-リストは私のulであり、非表示ではありません。
<ul id="thelist">
<li>entry1</li>
<li>entry2</li>
<li>entry3</li>
</ul>
編集2:リストは上記のようにHTMLに存在し、jQueryはフェードインしたい追加のliを追加します。
編集3: htmlには、記事の内容を含む約5つのliを表示するhtmlを含むjQueryajax呼び出しが含まれています。フェードインやアニメーションを使用しない場合は、ulに正しく追加されます。フェードインを追加すると、要素がulに追加されますが、フェードインは行われません。
編集4:これがロード関数です:
$(function() {
$('.more').live('click',function() {
var element = $(this);
var msg = element.attr('id');
$('#morebutton').html('<p><em>Loading Articles.</em></p>');
$.ajax({
type: 'POST',
url: 'more.asp',
data: 'lastmsg=' + msg,
cache: false,
success: function(html){
$('#morebutton').remove();
$(html).hide().appendTo('#thelist').fadeIn();
}
});
});
});
解決:
変更することでフェードインしました:
$(html).hide().appendTo('#thelist').fadeIn();
に
var item = $(html).fadeIn();
$('#thelist').append(item);
jQueryが特定の順序でチェーンする方法と関係があるようです。