Keresés

Új hozzászólás Aktív témák

  • disy68

    aktív tag

    válasz Taci #8230 üzenetére

    Amikor lekéred az új adatot, amivel bővíted az oldalt, akkor megjeleníted a spinnert. Amikor betöltött az adat, akkor berakod a DOM-ba, ahova annak kerülnie kell.

    Miután ez megvan, akkor ahova került az új tartalom, megnézed a tartalomban van-e új img, ezeket kigyűjtöd.

    Itt lehet akár két lehetőség is
    - Megszámolod mennyi van, majd feliratkozol a képek load és error eseményeire és amikor bármelyik bekövetkezik, akkor kivonsz egyet a számlálóból, ha elérted a nullát, akkor elrejted a spinnert.

    - Vagy a képeket beburkolod egy-egy Promise-ba a resolve/reject a kép load és error eseményeire következik be. Bevárod az összes Promise-t és elrejted a spinnert.

    ha van egy images nevű tömböd, a képekkel, abból így lesz egy promise lista:
    const imagePromises = images.map(image =>
    new Promise((resolve, reject) => {
            image.onload = () => {
            console.debug('image loaded', image);
              resolve(image);
            };
            image.onerror = () => {
            console.error('image not loaded', image);
              reject(image);
            };
          }));

Új hozzászólás Aktív témák

Hirdetés