Ankündigung

Einklappen
Keine Ankündigung bisher.

Erkennen wann Nachladevorgang zu Ende ist

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Erkennen wann Nachladevorgang zu Ende ist

    Hallo,

    ich habe eine Funktion die mir Bilder nachlädt

    PHP-Code:
    var imageloader = {
        
    loader : function(arr){
        for (var 
    0length arr.lengthlengthi++) {
                    var 
    img arr[i];
            var 
    image = new Image();
            
    image.onload = function(){
                $(
    '#container').append (img.data);
            };

            
    image.loadError false;
                    
    image.src img.url;
             }
        }

    Ich möchte nachdem alle Bilder geladen sind eine Sortungsfunktion (sortiert alle bilder nach bestimmten kriterien) aufrufen und danach Masonry.

    Das Problem ist dass ich nicht erkennen kann wann der Ladevorgang abgeschlossen ist, um meine Sortierungsfunktion aufzurufen.

    Jemand eine Idee?


  • #2
    Wäre imagesLoaded nicht ausreichend http://masonry.desandro.com/appendix.html#imagesloaded?

    Kommentar


    • #3
      eben nicht, denn wenn masonry anfängt sind noch nicht alle Bilder geladen.

      Kommentar


      • #4
        bei mir startet masonry direkt nach dem markup, wenn alle bilder geladen sind, sotiert es erst. du must mE. die bilder nicht nur an container hängen, sondern auch in masonry einfügen:
        http://masonry.desandro.com/methods.html#additems bspw.

        Kommentar


        • #5
          Alle Einträge werden über Ajax nachgeladen.

          Nach Response werden alle Bilder auf ihre Existenz geprüft und per append an Masonry-Container übergeben.
          Das Problem ist nicht masonry, sondern, der Prüfvorgang der Bilder läuft noch. Ich muss erkennen wann dieser zu Ende ist um eine eigene Sortierungsfunktion auszuführen, nicht von masonry. Um dies tun zu können muss der Prüfvorgang allerdings abgeschlossen sein.

          Kommentar


          • #6
            ok,
            sobald eine bild breite und höhe grösser null hat, ist es geladen.
            sonst gibts noch image.complete
            http://de.selfhtml.org/javascript/ob...s.htm#complete

            Kommentar


            • #7
              Schau dir #2 nochmal an und starte masonry erst, wenn alle geladen sind.
              I like cooking my family and my pets.
              Use commas. Don't be a psycho.
              Blog - CoverflowJS

              Kommentar


              • #8
                Wie erkennt man denn wann alle geladen sind?
                Die Seite ist nämlich schon komplett aufgebaut, masory wurde bereits ausgeführt, Bilder werden aber noch geladen. Genau das ist ja das Problem.

                Kommentar


                • #9
                  Entweder verwendest du imagesLoaded und initialisiert masonry erst danach oder du startest masonry erst beim window.onload Event - da sind dann auch wirklich alle Bilder geladen.
                  I like cooking my family and my pets.
                  Use commas. Don't be a psycho.
                  Blog - CoverflowJS

                  Kommentar

                  Lädt...
                  X