サーバーから新しいレコードを取得した後、jQuery 1.7.2 の AJAX 成功コールバックを使用して、新しいレコードをリストに追加し、フェードインします。
function onSuccess (data, status, xhr) {
var record = $(template_html);
// populate `record` with `data` values.
body.append(record); // body is a jQuery object from closure scope
record.fadeIn('fast');
}
次のブラウザでこれをテストしました。
- IE8
- IE9
- サファリ5.1.7
- Firefox 14.0.1
- クローム 21.0.1180.79
- オペラ 11.64
Chrome を除いて、上記のすべてのブラウザーで一貫して動作します。Chromeで時々動作します。
Chrome で失敗した場合、[要素の検査] をクリックするか、開発者ツールの [要素] タブを表示するか、または を使用して Javascript コンソールに出力された DOM 要素をクリックするconsole.log(record)
と、新しいレコードが表示されます。
DOM 要素が正しく作成、設定、および追加されていることはわかっています。問題は、Chrome が DOM の再レンダリングを拒否する場合があることです。時々。
変更ありまたはなしで交換fadeIn
してみました。show
fadeTo
「同様の質問」の回答はどれもうまくいきませんでした。レコードのマークアップは<div>
s in <div>
s であり、無効な HTML が問題であるかどうかを確認するために、新しいレコードを追加する前後にページを検証しました。
考えやアイデアはありますか?