メモリ内のDOMに何かが追加されると、ブラウザのリフローが発生しますか?それとも、リフローが発生するのは、画面上のピクセルが変更するように指示されたときだけですか?例えば:
ケース1:一度に1つずつDOMに追加されるImg要素
var parentDiv = $('#imgHolder');
var imgArray = []; // Array of img paths populated in another function
$.each(imgArray, function()
{
parentDiv.append(createImgEle(this)); // createImgEle() // returns an <img> with the right src
}
ケース2: Img要素は別の配列に配置されてからDOMに追加されます
var parentDiv = $('#imgHolder');
var imgArray = []; // Array of img paths populated in another function
var tempArray = []; // Holds the img elements until its fully populated
$.each(imgArray, function()
{
tempArray.push(createImgEle(this));
}
parentDiv.append(tempArray);
ケース3:ケース1または2のいずれかですが、デフォルトでは、parentDivが設定されdisplay:none;
、各ループが実行された後に表示されます。
基本的に、私が知りたいのは、画面のピクセルが変更されるように指示されたときにのみ、ブラウザーがリフローを開始するのかということです。
ところで、コードは単なる例であり、本番環境ではないので、論理エラーについて私を非難しないでください。アドバイスありがとうございます。