Tut jQuery-erstellen von Dokument-Fragmenten innerhalb der einzelnen Schleifen?

Also ich habe gelesen, dass jQuery verwendet Dokument-Fragmente intern zu machen, das Rendern schneller. Aber ich Frage mich, ob jemand weiß, ob jQuery verwenden würde createDocumentFragment in dieser situation, wo ich mich Anhängen img-Elementen, um den DOM mit der each-Schleife?

var displayArray = []; //Lots of img elements

$.each(displayArray, function()
{
    $('#imgSection').append(this);
});

Oder würde ich brauchen, um diesen code zu verwenden, um zu reduzieren die Anzahl der browser neu umgebrochen?

var displayArray = []; //Lots of img elements
var imgHolder = $('<div/>');

$.each(displayArray, function()
{
    imgHolder.append(this);
});

$('#imgSection').append(imgHolder);

Auch, die displayArray ist bevölkert von anderen code, hier nicht gezeigt, erzeugt die img-Elemente, basierend darauf, Wege in eine JSON-Datei.

Danke für jeden Rat.

  • .append wird direkt hinzufügen des Elements an dem anderen element. Ich sehe nicht, wie ein Dokument-fragment könnte auch hier funktionieren.
  • Die Idee hier ist, um zu reduzieren die Anzahl der Zeiten, die der browser reflow dem Bildschirm. Ich Frage mich nur, wenn jQuery nicht, dass intern oder nicht.
  • Ja, ich verstehe, dass, aber in diesem Fall werden Sie bei der Iteration über ein array von DOM-Elementen können sagen, und in jeder iteration sind Sie ein element hinzufügen, um ein vorhandenes element in den Baum. Es kann ein zweiter Schritt, wo jQuery ist die Verwendung von Dokument-Fragmenten. Sie haben, um zu vermeiden, fließt ein Teil des selbst.
  • Ahh... das macht jetzt mehr Sinn. Danke.
  • Wenn du "viele von img-Elementen", der browser wird eher ärger mit image laden, als mit dem Umschmelzen.
  • Schon daran gedacht. Die Bilder Vorspannung und sind nicht in den DOM, bis Sie haben eine Breite > 0.
  • Nur Frage mich, warum Vorausladen der Bilder dann legte Sie in den DOM ist besser als Benutzer sehen Sie die Beladung in der Warteschlange (zumindest der Benutzer sehen kann, der Fortschritt des Ladevorgangs)?
  • Die Anwendung, die ich damit beschäftigt war, für den ist eine interaktive virtuelle tour und ich brauchte, um zu laden, die mindestens 6 Bilder vor, damit der Nutzer mit Ihr interagieren. Sonst könnten Sie verwirrt, wenn Sie, versuchen wir, es zu benutzen, bevor die Bilder heruntergeladen wurden. Während das geschah, ich habe ein Ladevorgang-Bildschirm.

Schreibe einen Kommentar